10#undef GET_ATTRDEF_LIST
12::llzk::function::AllowConstraintAttr,
13::llzk::function::AllowWitnessAttr,
14::llzk::function::AllowNonNativeFieldOpsAttr,
15::llzk::function::AllowVerifOpsAttr
19#ifdef GET_ATTRDEF_CLASSES
20#undef GET_ATTRDEF_CLASSES
22static ::mlir::OptionalParseResult generatedAttributeParser(::mlir::AsmParser &parser, ::llvm::StringRef *mnemonic, ::mlir::Type type, ::mlir::Attribute &value) {
23 return ::mlir::AsmParser::KeywordSwitch<::mlir::OptionalParseResult>(parser)
24 .Case(::llzk::function::AllowConstraintAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
25 value = ::llzk::function::AllowConstraintAttr::get(parser.getContext());
26 return ::mlir::success(!!value);
28 .Case(::llzk::function::AllowWitnessAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
29 value = ::llzk::function::AllowWitnessAttr::get(parser.getContext());
30 return ::mlir::success(!!value);
32 .Case(::llzk::function::AllowNonNativeFieldOpsAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
33 value = ::llzk::function::AllowNonNativeFieldOpsAttr::get(parser.getContext());
34 return ::mlir::success(!!value);
36 .Case(::llzk::function::AllowVerifOpsAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
37 value = ::llzk::function::AllowVerifOpsAttr::get(parser.getContext());
38 return ::mlir::success(!!value);
40 .Default([&](llvm::StringRef keyword, llvm::SMLoc) {
46static ::llvm::LogicalResult generatedAttributePrinter(::mlir::Attribute def, ::mlir::AsmPrinter &printer) {
47 return ::llvm::TypeSwitch<::mlir::Attribute, ::llvm::LogicalResult>(def) .Case<::llzk::function::AllowConstraintAttr>([&](
auto t) {
48 printer << ::llzk::function::AllowConstraintAttr::getMnemonic();
49 return ::mlir::success();
51 .Case<::llzk::function::AllowWitnessAttr>([&](
auto t) {
52 printer << ::llzk::function::AllowWitnessAttr::getMnemonic();
53 return ::mlir::success();
55 .Case<::llzk::function::AllowNonNativeFieldOpsAttr>([&](
auto t) {
56 printer << ::llzk::function::AllowNonNativeFieldOpsAttr::getMnemonic();
57 return ::mlir::success();
59 .Case<::llzk::function::AllowVerifOpsAttr>([&](
auto t) {
60 printer << ::llzk::function::AllowVerifOpsAttr::getMnemonic();
61 return ::mlir::success();
63 .Default([](
auto) { return ::mlir::failure(); });
70MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowConstraintAttr)
75MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowWitnessAttr)
80MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowNonNativeFieldOpsAttr)
85MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowVerifOpsAttr)
91 ::mlir::Type type)
const {
92 ::llvm::SMLoc typeLoc = parser.getCurrentLocation();
93 ::llvm::StringRef attrTag;
95 ::mlir::Attribute attr;
96 auto parseResult = generatedAttributeParser(parser, &attrTag, type, attr);
97 if (parseResult.has_value())
101 parser.emitError(typeLoc) <<
"unknown attribute `"
102 << attrTag <<
"` in dialect `" << getNamespace() <<
"`";
107 ::mlir::DialectAsmPrinter &printer)
const {
108 if (::mlir::succeeded(generatedAttributePrinter(attr, printer)))
::mlir::Attribute parseAttribute(::mlir::DialectAsmParser &parser, ::mlir::Type type) const override
Parse an attribute registered to this dialect.
void printAttribute(::mlir::Attribute attr, ::mlir::DialectAsmPrinter &os) const override
Print an attribute registered to this dialect.