[clang] 58c9467 - Use std::optional in Tooling/Inclusions.
Haojian Wu via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 12 07:02:12 PST 2022
Author: Haojian Wu
Date: 2022-12-12T16:01:56+01:00
New Revision: 58c9467f58a3ec77bae4675becfa7f3bc8470230
URL: https://github.com/llvm/llvm-project/commit/58c9467f58a3ec77bae4675becfa7f3bc8470230
DIFF: https://github.com/llvm/llvm-project/commit/58c9467f58a3ec77bae4675becfa7f3bc8470230.diff
LOG: Use std::optional in Tooling/Inclusions.
Added:
Modified:
clang/include/clang/Tooling/Inclusions/HeaderAnalysis.h
clang/lib/Tooling/Inclusions/HeaderAnalysis.cpp
clang/unittests/Tooling/HeaderAnalysisTest.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/Tooling/Inclusions/HeaderAnalysis.h b/clang/include/clang/Tooling/Inclusions/HeaderAnalysis.h
index 31854ff6f59da..760b8dd0879c9 100644
--- a/clang/include/clang/Tooling/Inclusions/HeaderAnalysis.h
+++ b/clang/include/clang/Tooling/Inclusions/HeaderAnalysis.h
@@ -9,8 +9,9 @@
#ifndef LLVM_CLANG_TOOLING_INCLUSIONS_HEADER_ANALYSIS_H
#define LLVM_CLANG_TOOLING_INCLUSIONS_HEADER_ANALYSIS_H
-#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringRef.h"
+#include <optional>
+
namespace clang {
class FileEntry;
class SourceManager;
@@ -37,7 +38,7 @@ bool codeContainsImports(llvm::StringRef Code);
/// Input is a null-terminated char* as provided by SM.getCharacterData().
/// (This should not be StringRef as we do *not* want to scan for its length).
/// For multi-line comments, we return only the first line.
-llvm::Optional<llvm::StringRef> parseIWYUPragma(const char *Text);
+std::optional<llvm::StringRef> parseIWYUPragma(const char *Text);
} // namespace tooling
} // namespace clang
diff --git a/clang/lib/Tooling/Inclusions/HeaderAnalysis.cpp b/clang/lib/Tooling/Inclusions/HeaderAnalysis.cpp
index f2a15c2a568cf..49d23908d33b7 100644
--- a/clang/lib/Tooling/Inclusions/HeaderAnalysis.cpp
+++ b/clang/lib/Tooling/Inclusions/HeaderAnalysis.cpp
@@ -93,7 +93,7 @@ bool codeContainsImports(llvm::StringRef Code) {
return false;
}
-llvm::Optional<StringRef> parseIWYUPragma(const char *Text) {
+std::optional<StringRef> parseIWYUPragma(const char *Text) {
// Skip the comment start, // or /*.
if (Text[0] != '/' || (Text[1] != '/' && Text[1] != '*'))
return std::nullopt;
diff --git a/clang/unittests/Tooling/HeaderAnalysisTest.cpp b/clang/unittests/Tooling/HeaderAnalysisTest.cpp
index 186eb87b062d2..623957c3ba237 100644
--- a/clang/unittests/Tooling/HeaderAnalysisTest.cpp
+++ b/clang/unittests/Tooling/HeaderAnalysisTest.cpp
@@ -9,13 +9,12 @@
#include "clang/Tooling/Inclusions/HeaderAnalysis.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Testing/TestAST.h"
-#include "llvm/Testing/Support/SupportHelpers.h"
+#include "gmock/gmock.h"
#include "gtest/gtest.h"
namespace clang {
namespace tooling {
namespace {
-using llvm::ValueIs;
using testing::Eq;
TEST(HeaderAnalysisTest, IsSelfContained) {
@@ -93,10 +92,10 @@ TEST(HeaderAnalysisTest, CodeContainsImports) {
}
TEST(HeaderAnalysisTest, ParseIWYUPragma) {
- EXPECT_THAT(parseIWYUPragma("// IWYU pragma: keep"), ValueIs(Eq("keep")));
+ EXPECT_THAT(parseIWYUPragma("// IWYU pragma: keep"), Eq("keep"));
EXPECT_THAT(parseIWYUPragma("// IWYU pragma: keep me\netc"),
- ValueIs(Eq("keep me")));
- EXPECT_THAT(parseIWYUPragma("/* IWYU pragma: keep */"), ValueIs(Eq("keep")));
+ Eq("keep me"));
+ EXPECT_THAT(parseIWYUPragma("/* IWYU pragma: keep */"), Eq("keep"));
EXPECT_EQ(parseIWYUPragma("// IWYU pragma: keep"), std::nullopt)
<< "Prefix is sensitive to whitespace";
EXPECT_EQ(parseIWYUPragma("// IWYU pragma:keep"), std::nullopt)
More information about the cfe-commits
mailing list