summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/clang/Tooling/Transformer/Stencil.h25
1 files changed, 1 insertions, 24 deletions
diff --git a/include/clang/Tooling/Transformer/Stencil.h b/include/clang/Tooling/Transformer/Stencil.h
index 617585cacd..eeb5902444 100644
--- a/include/clang/Tooling/Transformer/Stencil.h
+++ b/include/clang/Tooling/Transformer/Stencil.h
@@ -48,26 +48,18 @@ public:
virtual llvm::Error eval(const ast_matchers::MatchFinder::MatchResult &Match,
std::string *Result) const = 0;
- virtual bool isEqual(const StencilPartInterface &other) const = 0;
-
/// Constructs a string representation of the StencilPart. StencilParts
/// generated by the `selection` and `run` functions do not have a unique
/// string representation.
virtual std::string toString() const = 0;
- const void *typeId() const { return TypeId; }
-
protected:
- StencilPartInterface(const void *DerivedId) : TypeId(DerivedId) {}
+ StencilPartInterface() = default;
// Since this is an abstract class, copying/assigning only make sense for
// derived classes implementing `clone()`.
StencilPartInterface(const StencilPartInterface &) = default;
StencilPartInterface &operator=(const StencilPartInterface &) = default;
-
- /// Unique identifier of the concrete type of this instance. Supports safe
- /// downcasting.
- const void *TypeId;
};
/// A copyable facade for a std::unique_ptr<StencilPartInterface>. Copies result
@@ -83,14 +75,6 @@ public:
return Impl->eval(Match, Result);
}
- bool operator==(const StencilPart &Other) const {
- if (Impl == Other.Impl)
- return true;
- if (Impl == nullptr || Other.Impl == nullptr)
- return false;
- return Impl->isEqual(*Other.Impl);
- }
-
std::string toString() const {
if (Impl == nullptr)
return "";
@@ -142,7 +126,6 @@ public:
}
private:
- friend bool operator==(const Stencil &A, const Stencil &B);
static StencilPart wrap(llvm::StringRef Text);
static StencilPart wrap(RangeSelector Selector);
static StencilPart wrap(StencilPart Part) { return Part; }
@@ -150,12 +133,6 @@ private:
std::vector<StencilPart> Parts;
};
-inline bool operator==(const Stencil &A, const Stencil &B) {
- return A.Parts == B.Parts;
-}
-
-inline bool operator!=(const Stencil &A, const Stencil &B) { return !(A == B); }
-
// Functions for conveniently building stencils.
namespace stencil {
/// Convenience wrapper for Stencil::cat that can be imported with a using decl.