/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Dialect Declarations                                                       *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|* From: FIRDialect.td                                                        *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace fir {

class FIROpsDialect : public ::mlir::Dialect {
  explicit FIROpsDialect(::mlir::MLIRContext *context);

  void initialize();
  friend class ::mlir::MLIRContext;
public:
  ~FIROpsDialect() override;
  static constexpr ::llvm::StringLiteral getDialectNamespace() {
    return ::llvm::StringLiteral("fir");
  }

  private:
    // Register the builtin Attributes.
    void registerAttributes();
    // Register the builtin Types.
    void registerTypes();
    // Register external interfaces on operations of
    // this dialect.
    void registerOpExternalInterfaces();
  public:
    mlir::Type parseType(mlir::DialectAsmParser &parser) const override;
    void printType(mlir::Type ty, mlir::DialectAsmPrinter &p) const override;
 
    mlir::Attribute parseAttribute(mlir::DialectAsmParser &parser,
                                   mlir::Type type) const override;
    void printAttribute(mlir::Attribute attr,
                        mlir::DialectAsmPrinter &p) const override;

    // Return string name of fir.runtime attribute.
    static constexpr llvm::StringRef getFirRuntimeAttrName() {
      return "fir.runtime";
    }
  };
} // namespace fir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::fir::FIROpsDialect)
