33 tables, *
this, ArrayRef<Type> {
getLhs().getType(),
getRhs().getType()}
46 tables, *
this, ArrayRef<Type> {
getLhs().getType(),
getRhs().getType()}
51 auto arrType = llvm::cast<ArrayType>(
getLhs().getType());
60 Type elemTy = arrType.getElementType();
62 return errFn().append(
63 "element type must be any LLZK type, excluding non-Signal struct and string types, but "
::llvm::LogicalResult verify()
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::TypedValue<::llzk::array::ArrayType > getLhs()
::mlir::Type inferRHS(::mlir::Type lhsType)
::mlir::TypedValue<::mlir::Type > getLhs()
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
::mlir::TypedValue<::mlir::Type > getRhs()
LogicalResult verifySubArrayOrElementType(EmitErrorFn emitError, ArrayType arrayType, Type subArrayOrElemType)
bool isValidEmitEqType(Type type)
LogicalResult verifyTypeResolution(SymbolTableCollection &tables, Operation *origin, Type ty)
OwningEmitErrorFn getEmitOpErrFn(mlir::Operation *op)
std::function< InFlightDiagnosticWrapper()> OwningEmitErrorFn
This type is required in cases like the functions below to take ownership of the lambda so it is not ...