LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
Attrs.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* AttrDef Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9#ifdef GET_ATTRDEF_LIST
10#undef GET_ATTRDEF_LIST
11
12::llzk::function::AllowConstraintAttr,
13::llzk::function::AllowWitnessAttr
14
15#endif // GET_ATTRDEF_LIST
16
17#ifdef GET_ATTRDEF_CLASSES
18#undef GET_ATTRDEF_CLASSES
19
20static ::mlir::OptionalParseResult generatedAttributeParser(::mlir::AsmParser &parser, ::llvm::StringRef *mnemonic, ::mlir::Type type, ::mlir::Attribute &value) {
21 return ::mlir::AsmParser::KeywordSwitch<::mlir::OptionalParseResult>(parser)
22 .Case(::llzk::function::AllowConstraintAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
23 value = ::llzk::function::AllowConstraintAttr::get(parser.getContext());
24 return ::mlir::success(!!value);
25 })
26 .Case(::llzk::function::AllowWitnessAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
27 value = ::llzk::function::AllowWitnessAttr::get(parser.getContext());
28 return ::mlir::success(!!value);
29 })
30 .Default([&](llvm::StringRef keyword, llvm::SMLoc) {
31 *mnemonic = keyword;
32 return std::nullopt;
33 });
34}
35
36static ::mlir::LogicalResult generatedAttributePrinter(::mlir::Attribute def, ::mlir::AsmPrinter &printer) {
37 return ::llvm::TypeSwitch<::mlir::Attribute, ::mlir::LogicalResult>(def) .Case<::llzk::function::AllowConstraintAttr>([&](auto t) {
38 printer << ::llzk::function::AllowConstraintAttr::getMnemonic();
39 return ::mlir::success();
40 })
41 .Case<::llzk::function::AllowWitnessAttr>([&](auto t) {
42 printer << ::llzk::function::AllowWitnessAttr::getMnemonic();
43 return ::mlir::success();
44 })
45 .Default([](auto) { return ::mlir::failure(); });
46}
47
48namespace llzk {
49namespace function {
50} // namespace function
51} // namespace llzk
52MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowConstraintAttr)
53namespace llzk {
54namespace function {
55} // namespace function
56} // namespace llzk
57MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowWitnessAttr)
58namespace llzk {
59namespace function {
60
62::mlir::Attribute FunctionDialect::parseAttribute(::mlir::DialectAsmParser &parser,
63 ::mlir::Type type) const {
64 ::llvm::SMLoc typeLoc = parser.getCurrentLocation();
65 ::llvm::StringRef attrTag;
66 {
67 ::mlir::Attribute attr;
68 auto parseResult = generatedAttributeParser(parser, &attrTag, type, attr);
69 if (parseResult.has_value())
70 return attr;
71 }
72
73 parser.emitError(typeLoc) << "unknown attribute `"
74 << attrTag << "` in dialect `" << getNamespace() << "`";
75 return {};
76}
78void FunctionDialect::printAttribute(::mlir::Attribute attr,
79 ::mlir::DialectAsmPrinter &printer) const {
80 if (::mlir::succeeded(generatedAttributePrinter(attr, printer)))
81 return;
82
83}
84} // namespace function
85} // namespace llzk
86
87#endif // GET_ATTRDEF_CLASSES
88
::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.