14 #ifndef MLIR_TOOLS_MLIRQUERY_MATCHER_VARIANTVALUE_H 
   15 #define MLIR_TOOLS_MLIRQUERY_MATCHER_VARIANTVALUE_H 
   19 #include "llvm/ADT/StringRef.h" 
   31     std::optional<DynMatcher>
 
   59   bool isNull()
 const { 
return !value; }
 
   69       : value(std::move(value)) {}
 
   72   class VariadicOpPayload;
 
   74   std::shared_ptr<const Payload> value;
 
   99   void setString(
const llvm::StringRef &
string);
 
  117   explicit operator bool()
 const { 
return hasValue(); }
 
  118   bool hasValue()
 const { 
return type != ValueType::Nothing; }
 
  124   enum class ValueType {
 
  137     VariantMatcher *Matcher;
 
static VariantMatcher SingleMatcher(DynMatcher matcher)
std::optional< DynMatcher > getDynMatcher() const
std::string getTypeAsString() const
static VariantMatcher VariadicOperatorMatcher(DynMatcher::VariadicOperator varOp, ArrayRef< VariantMatcher > args)
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)
Computes the backward-slice of all transitive defs reachable from rootOp, if innerMatcher matches.
internal::SourceRange range