23class ArrayType :
public ::mlir::Type::TypeBase<ArrayType, ::mlir::Type, detail::ArrayTypeStorage, ::mlir::ShapedType::Trait, ::mlir::DestructurableTypeInterface::Trait> {
29 bool collectIndices(::llvm::function_ref<
void(::mlir::ArrayAttr)>)
const;
38 inline bool hasRank()
const {
return true; }
48 ArrayType cloneWith(std::optional<::llvm::ArrayRef<int64_t>> shape, ::mlir::Type elementType)
const;
55 ArrayType cloneWith(::mlir::Type elementType, std::optional<::llvm::ArrayRef<::mlir::Attribute>> dimensions = std::nullopt)
const;
56 static constexpr ::llvm::StringLiteral
name =
"array.type";
58 using Base::getChecked;
59 static ArrayType get(::mlir::Type elementType, ::llvm::ArrayRef<::mlir::Attribute> dimensionSizes);
60 static ArrayType getChecked(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::Type elementType, ::llvm::ArrayRef<::mlir::Attribute> dimensionSizes);
61 static ArrayType get(::mlir::Type elementType, ::llvm::ArrayRef<int64_t> shape);
62 static ArrayType getChecked(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::Type elementType, ::llvm::ArrayRef<int64_t> shape);
63 static ::llvm::LogicalResult
verify(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::Type elementType, ::llvm::ArrayRef<::mlir::Attribute> dimensionSizes, ::llvm::ArrayRef<int64_t> shape);
64 static ::llvm::LogicalResult
verifyInvariants(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::Type elementType, ::llvm::ArrayRef<::mlir::Attribute> dimensionSizes, ::llvm::ArrayRef<int64_t> shape);
69 static ::mlir::Type
parse(::mlir::AsmParser &odsParser);
70 void print(::mlir::AsmPrinter &odsPrinter)
const;
73 ::llvm::ArrayRef<int64_t>
getShape()
const;
::llvm::LogicalResult verify(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::Type elementType, ::llvm::ArrayRef<::mlir::Attribute > dimensionSizes, ::llvm::ArrayRef< int64_t > shape)
ArrayType cloneWith(::mlir::Type elementType, std::optional<::llvm::ArrayRef<::mlir::Attribute > > dimensions=std::nullopt) const
Clone this type with the given dimensions and element type.