9 #ifndef MLIR_TABLEGEN_INTERFACES_H_
10 #define MLIR_TABLEGEN_INTERFACES_H_
13 #include "llvm/ADT/SmallVector.h"
14 #include "llvm/ADT/StringRef.h"
15 #include "llvm/ADT/iterator.h"
47 std::optional<StringRef>
getBody()
const;
61 const llvm::Record *def;
75 explicit Interface(
const llvm::Record *def);
77 for (
auto &base : rhs.baseInterfaces)
78 baseInterfaces.push_back(std::make_unique<Interface>(*base));
110 std::optional<StringRef>
getVerify()
const;
114 return llvm::make_pointee_range(baseInterfaces);
122 const llvm::Record &
getDef()
const {
return *def; }
126 const llvm::Record *def;
InterfaceMethod(const llvm::Record *def)
StringRef getReturnType() const
std::optional< StringRef > getDefaultImplementation() const
ArrayRef< Argument > getArguments() const
std::optional< StringRef > getBody() const
StringRef getName() const
std::optional< StringRef > getDescription() const
Interface(const llvm::Record *def)
std::optional< StringRef > getExtraClassOf() const
std::optional< StringRef > getDescription() const
std::optional< StringRef > getExtraClassDeclaration() const
std::optional< StringRef > getExtraSharedClassDeclaration() const
Interface(const Interface &rhs)
ArrayRef< InterfaceMethod > getMethods() const
std::optional< StringRef > getExtraTraitClassDeclaration() const
bool verifyWithRegions() const
std::optional< StringRef > getVerify() const
auto getBaseInterfaces() const
std::string getFullyQualifiedName() const
StringRef getCppNamespace() const
const llvm::Record & getDef() const
StringRef getName() const
The OpAsmOpInterface, see OpAsmInterface.td for more details.
Include the generated interface declarations.
static bool classof(const Interface *interface)
static bool classof(const Interface *interface)
static bool classof(const Interface *interface)