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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits