14 #ifndef MLIR_TOOLS_MLIRQUERY_MATCHER_VARIANTVALUE_H
15 #define MLIR_TOOLS_MLIRQUERY_MATCHER_VARIANTVALUE_H
19 #include "llvm/ADT/StringRef.h"
51 bool isNull()
const {
return !value; }
61 : value(std::move(value)) {}
65 std::shared_ptr<const Payload> value;
90 void setString(
const llvm::StringRef &
string);
108 explicit operator bool()
const {
return hasValue(); }
109 bool hasValue()
const {
return type != ValueType::Nothing; }
115 enum class ValueType {
128 VariantMatcher *Matcher;
static VariantMatcher SingleMatcher(DynMatcher matcher)
std::optional< DynMatcher > getDynMatcher() const
std::string getTypeAsString() const
std::string getTypeAsString() const
VariantValue & operator=(const VariantValue &other)
const VariantMatcher & getMatcher() const
void setMatcher(const VariantMatcher &matcher)
const llvm::StringRef & getString() const
int64_t getSigned() const
void setSigned(int64_t signedValue)
void setString(const llvm::StringRef &string)
void setBoolean(bool booleanValue)
A matcher encapsulating getBackwardSlice method from SliceAnalysis.h.
internal::SourceRange range