/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |* *| |* Dialect Interface Declarations *| |* *| |* Automatically generated file, do not edit! *| |* *| \*===----------------------------------------------------------------------===*/ namespace mlir { class BytecodeDialectInterface : public ::mlir::DialectInterface::Base { public: /// Read an attribute belonging to this dialect from the given reader. This /// method should return null in the case of failure. Optionally, the dialect /// version can be accessed through the reader. virtual ::mlir::Attribute readAttribute(::mlir::DialectBytecodeReader & reader) const { reader.emitError() << "dialect " << getDialect()->getNamespace() << " does not support reading attributes from bytecode"; return ::mlir::Attribute(); } /// Read a type belonging to this dialect from the given reader. This method /// should return null in the case of failure. Optionally, the dialect version /// can be accessed thorugh the reader. virtual ::mlir::Type readType(::mlir::DialectBytecodeReader & reader) const { reader.emitError() << "dialect " << getDialect()->getNamespace() << " does not support reading types from bytecode"; return ::mlir::Type(); } /// Write the given attribute, which belongs to this dialect, to the given /// writer. This method may return failure to indicate that the given /// attribute could not be encoded, in which case the textual format will be /// used to encode this attribute instead. virtual ::llvm::LogicalResult writeAttribute(::mlir::Attribute attribute, ::mlir::DialectBytecodeWriter & writer) const { return ::llvm::failure(); } /// Write the given type, which belongs to this dialect, to the given writer. /// This method may return failure to indicate that the given type could not /// be encoded, in which case the textual format will be used to encode this /// type instead. virtual ::llvm::LogicalResult writeType(::mlir::Type type, ::mlir::DialectBytecodeWriter & writer) const { return ::llvm::failure(); } /// Write the version of this dialect to the given writer. virtual void writeVersion(::mlir::DialectBytecodeWriter & writer) const {} /// Read the version of this dialect from the provided reader and return it as /// a `unique_ptr` to a dialect version object. virtual std::unique_ptr<::mlir::DialectVersion> readVersion(::mlir::DialectBytecodeReader & reader) const { reader.emitError("Dialect does not support versioning"); return nullptr; } /// Hook invoked after parsing completed, if a version directive was present /// and included an entry for the current dialect. This hook offers the /// opportunity to the dialect to visit the IR and upgrades constructs emitted /// by the version of the dialect corresponding to the provided version. virtual ::llvm::LogicalResult upgradeFromVersion(::mlir::Operation * topLevelOp, const ::mlir::DialectVersion & version) const { return ::llvm::success(); } BytecodeDialectInterface(::mlir::Dialect *dialect) : Base(dialect) {} }; } // namespace mlir