[clang-tools-extra] 43fbbcb - [clangd] llvm::Optional::value => operator*/operator->
Fangrui Song via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 16 21:11:08 PST 2022
Author: Fangrui Song
Date: 2022-12-17T05:11:01Z
New Revision: 43fbbcbfa9a0cb0a0ce2e1c5df63e49e8acf2db2
URL: https://github.com/llvm/llvm-project/commit/43fbbcbfa9a0cb0a0ce2e1c5df63e49e8acf2db2
DIFF: https://github.com/llvm/llvm-project/commit/43fbbcbfa9a0cb0a0ce2e1c5df63e49e8acf2db2.diff
LOG: [clangd] llvm::Optional::value => operator*/operator->
std::optional::value() has undesired exception checking semantics and is
unavailable in some older Xcode. The call sites block std::optional migration.
Added:
Modified:
clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
clang-tools-extra/clangd/unittests/LSPBinderTests.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp b/clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
index bbaac04f90dcd..6f12bc830767a 100644
--- a/clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
+++ b/clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
@@ -81,12 +81,12 @@ CompileFlags: { Add: [foo, bar] }
EXPECT_THAT(Results[1].CompileFlags.Add, ElementsAre(val("b\naz\n")));
ASSERT_TRUE(Results[2].Index.Background);
- EXPECT_EQ("Skip", *Results[2].Index.Background.value());
+ EXPECT_EQ("Skip", **Results[2].Index.Background);
EXPECT_THAT(Results[3].Diagnostics.ClangTidy.CheckOptions,
ElementsAre(PairVal("IgnoreMacros", "true"),
PairVal("example-check.ExampleOption", "0")));
EXPECT_TRUE(Results[3].Diagnostics.UnusedIncludes);
- EXPECT_EQ("Strict", *Results[3].Diagnostics.UnusedIncludes.value());
+ EXPECT_EQ("Strict", **Results[3].Diagnostics.UnusedIncludes);
}
TEST(ParseYAML, Locations) {
@@ -162,10 +162,10 @@ TEST(ParseYAML, ExternalBlockNone) {
ASSERT_THAT(Diags.Diagnostics, IsEmpty());
ASSERT_EQ(Results.size(), 1u);
ASSERT_TRUE(Results[0].Index.External);
- EXPECT_FALSE(Results[0].Index.External.value()->File.has_value());
- EXPECT_FALSE(Results[0].Index.External.value()->MountPoint.has_value());
- EXPECT_FALSE(Results[0].Index.External.value()->Server.has_value());
- EXPECT_THAT(*Results[0].Index.External.value()->IsNone, testing::Eq(true));
+ EXPECT_FALSE((*Results[0].Index.External)->File.has_value());
+ EXPECT_FALSE((*Results[0].Index.External)->MountPoint.has_value());
+ EXPECT_FALSE((*Results[0].Index.External)->Server.has_value());
+ EXPECT_THAT(*(*Results[0].Index.External)->IsNone, testing::Eq(true));
}
TEST(ParseYAML, ExternalBlock) {
@@ -181,10 +181,10 @@ TEST(ParseYAML, ExternalBlock) {
Fragment::parseYAML(YAML.code(), "config.yaml", Diags.callback());
ASSERT_EQ(Results.size(), 1u);
ASSERT_TRUE(Results[0].Index.External);
- EXPECT_THAT(*Results[0].Index.External.value()->File, val("foo"));
- EXPECT_THAT(*Results[0].Index.External.value()->MountPoint, val("baz"));
+ EXPECT_THAT(*(*Results[0].Index.External)->File, val("foo"));
+ EXPECT_THAT(*(*Results[0].Index.External)->MountPoint, val("baz"));
ASSERT_THAT(Diags.Diagnostics, IsEmpty());
- EXPECT_THAT(*Results[0].Index.External.value()->Server, val("bar"));
+ EXPECT_THAT(*(*Results[0].Index.External)->Server, val("bar"));
}
TEST(ParseYAML, AllScopes) {
diff --git a/clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp b/clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
index 7aed47e94b593..2d4cddeb86709 100644
--- a/clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
+++ b/clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
@@ -330,9 +330,9 @@ TEST(GlobalCompilationDatabaseTest, CompileFlagsDirectory) {
DirectoryBasedGlobalCompilationDatabase CDB(FS);
auto Commands = CDB.getCompileCommand(testPath("x/y.cpp"));
ASSERT_TRUE(Commands.has_value());
- EXPECT_THAT(Commands.value().CommandLine, Contains("-DFOO"));
+ EXPECT_THAT(Commands->CommandLine, Contains("-DFOO"));
// Make sure we pick the right working directory.
- EXPECT_EQ(testPath("x"), Commands.value().Directory);
+ EXPECT_EQ(testPath("x"), Commands->Directory);
}
MATCHER_P(hasArg, Flag, "") {
diff --git a/clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp b/clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
index e401b672aa6f4..4a61ada1dc759 100644
--- a/clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
+++ b/clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
@@ -33,11 +33,11 @@ TEST(HeaderSourceSwitchTest, FileHeuristic) {
Optional<Path> PathResult =
getCorrespondingHeaderOrSource(FooCpp, FS.view(std::nullopt));
EXPECT_TRUE(PathResult.has_value());
- ASSERT_EQ(PathResult.value(), FooH);
+ ASSERT_EQ(*PathResult, FooH);
PathResult = getCorrespondingHeaderOrSource(FooH, FS.view(std::nullopt));
EXPECT_TRUE(PathResult.has_value());
- ASSERT_EQ(PathResult.value(), FooCpp);
+ ASSERT_EQ(*PathResult, FooCpp);
// Test with header file in capital letters and
diff erent extension, source
// file with
diff erent extension
@@ -48,7 +48,7 @@ TEST(HeaderSourceSwitchTest, FileHeuristic) {
FS.Files[FooHH];
PathResult = getCorrespondingHeaderOrSource(FooC, FS.view(std::nullopt));
EXPECT_TRUE(PathResult.has_value());
- ASSERT_EQ(PathResult.value(), FooHH);
+ ASSERT_EQ(*PathResult, FooHH);
// Test with both capital letters
auto Foo2C = testPath("foo2.C");
@@ -57,7 +57,7 @@ TEST(HeaderSourceSwitchTest, FileHeuristic) {
FS.Files[Foo2HH];
PathResult = getCorrespondingHeaderOrSource(Foo2C, FS.view(std::nullopt));
EXPECT_TRUE(PathResult.has_value());
- ASSERT_EQ(PathResult.value(), Foo2HH);
+ ASSERT_EQ(*PathResult, Foo2HH);
// Test with source file as capital letter and .hxx header file
auto Foo3C = testPath("foo3.C");
@@ -67,7 +67,7 @@ TEST(HeaderSourceSwitchTest, FileHeuristic) {
FS.Files[Foo3HXX];
PathResult = getCorrespondingHeaderOrSource(Foo3C, FS.view(std::nullopt));
EXPECT_TRUE(PathResult.has_value());
- ASSERT_EQ(PathResult.value(), Foo3HXX);
+ ASSERT_EQ(*PathResult, Foo3HXX);
// Test if asking for a corresponding file that doesn't exist returns an empty
// string.
diff --git a/clang-tools-extra/clangd/unittests/LSPBinderTests.cpp b/clang-tools-extra/clangd/unittests/LSPBinderTests.cpp
index f640a4220bdeb..97a4316928a8c 100644
--- a/clang-tools-extra/clangd/unittests/LSPBinderTests.cpp
+++ b/clang-tools-extra/clangd/unittests/LSPBinderTests.cpp
@@ -94,18 +94,17 @@ TEST(LSPBinderTest, IncomingCalls) {
auto &RawPlusOne = RawHandlers.MethodHandlers["plusOne"];
RawPlusOne(1, capture(Reply));
ASSERT_TRUE(Reply.has_value());
- EXPECT_THAT_EXPECTED(Reply.value(), llvm::HasValue(2));
+ EXPECT_THAT_EXPECTED(*Reply, llvm::HasValue(2));
RawPlusOne("foo", capture(Reply));
ASSERT_TRUE(Reply.has_value());
EXPECT_THAT_EXPECTED(
- Reply.value(),
- llvm::FailedWithMessage(
- HasSubstr("failed to decode plusOne request: expected integer")));
+ *Reply, llvm::FailedWithMessage(HasSubstr(
+ "failed to decode plusOne request: expected integer")));
auto &RawFail = RawHandlers.MethodHandlers["fail"];
RawFail(2, capture(Reply));
ASSERT_TRUE(Reply.has_value());
- EXPECT_THAT_EXPECTED(Reply.value(), llvm::FailedWithMessage("X=2"));
+ EXPECT_THAT_EXPECTED(*Reply, llvm::FailedWithMessage("X=2"));
auto &RawNotify = RawHandlers.NotificationHandlers["notify"];
RawNotify(42);
@@ -118,7 +117,7 @@ TEST(LSPBinderTest, IncomingCalls) {
auto &RawCmdPlusOne = RawHandlers.CommandHandlers["cmdPlusOne"];
RawCmdPlusOne(1, capture(Reply));
ASSERT_TRUE(Reply.has_value());
- EXPECT_THAT_EXPECTED(Reply.value(), llvm::HasValue(2));
+ EXPECT_THAT_EXPECTED(*Reply, llvm::HasValue(2));
// None of this generated any outgoing traffic.
EXPECT_THAT(RawOutgoing.Received, IsEmpty());
@@ -140,7 +139,7 @@ TEST(LSPBinderTest, OutgoingCalls) {
Echo(Foo{2}, capture(Reply));
EXPECT_THAT(RawOutgoing.take("echo"), ElementsAre(llvm::json::Value(2)));
ASSERT_TRUE(Reply.has_value());
- EXPECT_THAT_EXPECTED(Reply.value(), llvm::HasValue(Foo{2}));
+ EXPECT_THAT_EXPECTED(*Reply, llvm::HasValue(Foo{2}));
// JSON response is integer, can't be parsed as string.
llvm::Optional<llvm::Expected<std::string>> WrongTypeReply;
@@ -148,14 +147,14 @@ TEST(LSPBinderTest, OutgoingCalls) {
EXPECT_THAT(RawOutgoing.take("wrongSignature"),
ElementsAre(llvm::json::Value(2)));
ASSERT_TRUE(Reply.has_value());
- EXPECT_THAT_EXPECTED(WrongTypeReply.value(),
+ EXPECT_THAT_EXPECTED(*WrongTypeReply,
llvm::FailedWithMessage(
HasSubstr("failed to decode wrongSignature reply")));
Fail(Foo{2}, capture(Reply));
EXPECT_THAT(RawOutgoing.take("fail"), ElementsAre(llvm::json::Value(2)));
ASSERT_TRUE(Reply.has_value());
- EXPECT_THAT_EXPECTED(Reply.value(), llvm::FailedWithMessage("Params=2"));
+ EXPECT_THAT_EXPECTED(*Reply, llvm::FailedWithMessage("Params=2"));
}
} // namespace
More information about the cfe-commits
mailing list