/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Interface Definitions                                                      *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/


/// Get the address produced by the definition
mlir::Value fir::FortranVariableOpInterface::getBase() {
      return getImpl()->getBase(getImpl(), getOperation());
  }

/// Get Fortran attributes
std::optional<fir::FortranVariableFlagsEnum> fir::FortranVariableOpInterface::getFortranAttrs() {
      return getImpl()->getFortranAttrs(getImpl(), getOperation());
  }

/// Get the shape of the variable. May be a null value.
mlir::Value fir::FortranVariableOpInterface::getShape() {
      return getImpl()->getShape(getImpl(), getOperation());
  }

/// Get explicit type parameters of the variable
mlir::OperandRange fir::FortranVariableOpInterface::getExplicitTypeParams() {
      return getImpl()->getExplicitTypeParams(getImpl(), getOperation());
  }

/// Set Fortran attributes
void fir::FortranVariableOpInterface::setFortranAttrs(fir::FortranVariableFlagsEnum flags) {
      return getImpl()->setFortranAttrs(getImpl(), getOperation(), flags);
  }

/// Returns the raw address of the physical storage
mlir::Value fir::FortranVariableStorageOpInterface::getStorage() {
      return getImpl()->getStorage(getImpl(), getOperation());
  }

/// Returns the byte offset where the variable begins within the physical storage
std::uint64_t fir::FortranVariableStorageOpInterface::getStorageOffset() {
      return getImpl()->getStorageOffset(getImpl(), getOperation());
  }

/// Get the address produced by the definition
mlir::Value fir::FortranVariableStorageOpInterface::getBase() {
      return getImpl()->implFortranVariableOpInterface->getBase(getImpl()->implFortranVariableOpInterface, getOperation());
  }

/// Get Fortran attributes
std::optional<fir::FortranVariableFlagsEnum> fir::FortranVariableStorageOpInterface::getFortranAttrs() {
      return getImpl()->implFortranVariableOpInterface->getFortranAttrs(getImpl()->implFortranVariableOpInterface, getOperation());
  }

/// Get the shape of the variable. May be a null value.
mlir::Value fir::FortranVariableStorageOpInterface::getShape() {
      return getImpl()->implFortranVariableOpInterface->getShape(getImpl()->implFortranVariableOpInterface, getOperation());
  }

/// Get explicit type parameters of the variable
mlir::OperandRange fir::FortranVariableStorageOpInterface::getExplicitTypeParams() {
      return getImpl()->implFortranVariableOpInterface->getExplicitTypeParams(getImpl()->implFortranVariableOpInterface, getOperation());
  }

/// Set Fortran attributes
void fir::FortranVariableStorageOpInterface::setFortranAttrs(fir::FortranVariableFlagsEnum flags) {
      return getImpl()->implFortranVariableOpInterface->setFortranAttrs(getImpl()->implFortranVariableOpInterface, getOperation(), flags);
  }
