mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-27 20:06:20 +00:00
[libTooling] Delete deprecated Stencil
combinators.
Summary: Deletes `text()` and `selection()` combinators, since they have been deprecated for months. Reviewers: tdl-g Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D82225
This commit is contained in:
parent
fd9f5f9c1b
commit
87340a2bf1
@ -69,14 +69,6 @@ template <typename... Ts> Stencil cat(Ts &&... Parts) {
|
||||
// Functions for conveniently building stencils.
|
||||
//
|
||||
|
||||
/// DEPRECATED: Use `cat` instead.
|
||||
/// \returns exactly the text provided.
|
||||
Stencil text(llvm::StringRef Text);
|
||||
|
||||
/// DEPRECATED: Use `cat` instead.
|
||||
/// \returns the source corresponding to the selected range.
|
||||
Stencil selection(RangeSelector Selector);
|
||||
|
||||
/// Generates the source of the expression bound to \p Id, wrapping it in
|
||||
/// parentheses if it may parse differently depending on context. For example, a
|
||||
/// binary operation is always wrapped, while a variable reference is never
|
||||
@ -112,7 +104,7 @@ Stencil maybeAddressOf(llvm::StringRef ExprId);
|
||||
/// Additionally, `e` is wrapped in parentheses, if needed.
|
||||
Stencil access(llvm::StringRef BaseId, Stencil Member);
|
||||
inline Stencil access(llvm::StringRef BaseId, llvm::StringRef Member) {
|
||||
return access(BaseId, text(Member));
|
||||
return access(BaseId, detail::makeStencil(Member));
|
||||
}
|
||||
|
||||
/// Chooses between the two stencil parts, based on whether \p ID is bound in
|
||||
@ -123,7 +115,8 @@ Stencil ifBound(llvm::StringRef Id, Stencil TrueStencil, Stencil FalseStencil);
|
||||
/// match.
|
||||
inline Stencil ifBound(llvm::StringRef Id, llvm::StringRef TrueText,
|
||||
llvm::StringRef FalseText) {
|
||||
return ifBound(Id, text(TrueText), text(FalseText));
|
||||
return ifBound(Id, detail::makeStencil(TrueText),
|
||||
detail::makeStencil(FalseText));
|
||||
}
|
||||
|
||||
/// Wraps a \c MatchConsumer in a \c Stencil, so that it can be used in a \c
|
||||
|
@ -298,17 +298,11 @@ public:
|
||||
};
|
||||
} // namespace
|
||||
|
||||
Stencil transformer::detail::makeStencil(StringRef Text) { return text(Text); }
|
||||
|
||||
Stencil transformer::detail::makeStencil(RangeSelector Selector) {
|
||||
return selection(std::move(Selector));
|
||||
}
|
||||
|
||||
Stencil transformer::text(StringRef Text) {
|
||||
Stencil transformer::detail::makeStencil(StringRef Text) {
|
||||
return std::make_shared<StencilImpl<RawTextData>>(std::string(Text));
|
||||
}
|
||||
|
||||
Stencil transformer::selection(RangeSelector Selector) {
|
||||
Stencil transformer::detail::makeStencil(RangeSelector Selector) {
|
||||
return std::make_shared<StencilImpl<SelectorData>>(std::move(Selector));
|
||||
}
|
||||
|
||||
|
@ -180,12 +180,12 @@ TEST_F(StencilTest, SelectionOp) {
|
||||
|
||||
TEST_F(StencilTest, IfBoundOpBound) {
|
||||
StringRef Id = "id";
|
||||
testExpr(Id, "3;", ifBound(Id, text("5"), text("7")), "5");
|
||||
testExpr(Id, "3;", ifBound(Id, cat("5"), cat("7")), "5");
|
||||
}
|
||||
|
||||
TEST_F(StencilTest, IfBoundOpUnbound) {
|
||||
StringRef Id = "id";
|
||||
testExpr(Id, "3;", ifBound("other", text("5"), text("7")), "7");
|
||||
testExpr(Id, "3;", ifBound("other", cat("5"), cat("7")), "7");
|
||||
}
|
||||
|
||||
TEST_F(StencilTest, ExpressionOpNoParens) {
|
||||
@ -293,7 +293,7 @@ TEST_F(StencilTest, AccessOpValueExplicitText) {
|
||||
x;
|
||||
)cc";
|
||||
StringRef Id = "id";
|
||||
testExpr(Id, Snippet, access(Id, text("field")), "x.field");
|
||||
testExpr(Id, Snippet, access(Id, cat("field")), "x.field");
|
||||
}
|
||||
|
||||
TEST_F(StencilTest, AccessOpValueAddress) {
|
||||
@ -479,7 +479,7 @@ TEST(StencilToStringTest, AccessOpText) {
|
||||
}
|
||||
|
||||
TEST(StencilToStringTest, AccessOpSelector) {
|
||||
auto S = access("Id", selection(name("otherId")));
|
||||
auto S = access("Id", cat(name("otherId")));
|
||||
StringRef Expected = R"repr(access("Id", selection(...)))repr";
|
||||
EXPECT_EQ(S->toString(), Expected);
|
||||
}
|
||||
@ -491,7 +491,7 @@ TEST(StencilToStringTest, AccessOpStencil) {
|
||||
}
|
||||
|
||||
TEST(StencilToStringTest, IfBoundOp) {
|
||||
auto S = ifBound("Id", text("trueText"), access("exprId", "memberData"));
|
||||
auto S = ifBound("Id", cat("trueText"), access("exprId", "memberData"));
|
||||
StringRef Expected =
|
||||
R"repr(ifBound("Id", "trueText", access("exprId", "memberData")))repr";
|
||||
EXPECT_EQ(S->toString(), Expected);
|
||||
@ -505,7 +505,7 @@ TEST(StencilToStringTest, RunOp) {
|
||||
|
||||
TEST(StencilToStringTest, Sequence) {
|
||||
auto S = cat("foo", access("x", "m()"), "bar",
|
||||
ifBound("x", text("t"), access("e", "f")));
|
||||
ifBound("x", cat("t"), access("e", "f")));
|
||||
StringRef Expected = R"repr(seq("foo", access("x", "m()"), "bar", )repr"
|
||||
R"repr(ifBound("x", "t", access("e", "f"))))repr";
|
||||
EXPECT_EQ(S->toString(), Expected);
|
||||
@ -524,8 +524,8 @@ TEST(StencilToStringTest, SequenceSingle) {
|
||||
}
|
||||
|
||||
TEST(StencilToStringTest, SequenceFromVector) {
|
||||
auto S = catVector({text("foo"), access("x", "m()"), text("bar"),
|
||||
ifBound("x", text("t"), access("e", "f"))});
|
||||
auto S = catVector({cat("foo"), access("x", "m()"), cat("bar"),
|
||||
ifBound("x", cat("t"), access("e", "f"))});
|
||||
StringRef Expected = R"repr(seq("foo", access("x", "m()"), "bar", )repr"
|
||||
R"repr(ifBound("x", "t", access("e", "f"))))repr";
|
||||
EXPECT_EQ(S->toString(), Expected);
|
||||
|
Loading…
x
Reference in New Issue
Block a user