LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
Types.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* TypeDef Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9#ifdef GET_TYPEDEF_LIST
10#undef GET_TYPEDEF_LIST
11
13
14#endif // GET_TYPEDEF_LIST
15
16#ifdef GET_TYPEDEF_CLASSES
17#undef GET_TYPEDEF_CLASSES
18
19static ::mlir::OptionalParseResult generatedTypeParser(::mlir::AsmParser &parser, ::llvm::StringRef *mnemonic, ::mlir::Type &value) {
20 return ::mlir::AsmParser::KeywordSwitch<::mlir::OptionalParseResult>(parser)
21 .Case(::llzk::string::StringType::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
22 value = ::llzk::string::StringType::get(parser.getContext());
23 return ::mlir::success(!!value);
24 })
25 .Default([&](llvm::StringRef keyword, llvm::SMLoc) {
26 *mnemonic = keyword;
27 return std::nullopt;
28 });
29}
30
31static ::mlir::LogicalResult generatedTypePrinter(::mlir::Type def, ::mlir::AsmPrinter &printer) {
32 return ::llvm::TypeSwitch<::mlir::Type, ::mlir::LogicalResult>(def) .Case<::llzk::string::StringType>([&](auto t) {
34 return ::mlir::success();
35 })
36 .Default([](auto) { return ::mlir::failure(); });
37}
38
39namespace llzk {
40namespace string {
41} // namespace string
42} // namespace llzk
43MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::string::StringType)
44namespace llzk {
45namespace string {
46
48::mlir::Type StringDialect::parseType(::mlir::DialectAsmParser &parser) const {
49 ::llvm::SMLoc typeLoc = parser.getCurrentLocation();
50 ::llvm::StringRef mnemonic;
51 ::mlir::Type genType;
52 auto parseResult = generatedTypeParser(parser, &mnemonic, genType);
53 if (parseResult.has_value())
54 return genType;
55
56 parser.emitError(typeLoc) << "unknown type `"
57 << mnemonic << "` in dialect `" << getNamespace() << "`";
58 return {};
59}
60
61void StringDialect::printType(::mlir::Type type,
62 ::mlir::DialectAsmPrinter &printer) const {
63 if (::mlir::succeeded(generatedTypePrinter(type, printer)))
64 return;
65
66}
67} // namespace string
68} // namespace llzk
69
70#endif // GET_TYPEDEF_CLASSES
71
void printType(::mlir::Type type, ::mlir::DialectAsmPrinter &os) const override
Print a type registered to this dialect.
Definition Types.cpp.inc:61
::mlir::Type parseType(::mlir::DialectAsmParser &parser) const override
Parse a type registered to this dialect.
Definition Types.cpp.inc:48
static constexpr ::llvm::StringLiteral getMnemonic()
Definition Types.h.inc:24