#include "mlir/Tools/PDLL/AST/Context.h"
#include "mlir/Tools/PDLL/AST/Nodes.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/SaveAndRestore.h"
#include "llvm/Support/ScopedPrinter.h"
#include <optional>
usingnamespacemlir;
usingnamespacemlir::pdll::ast;
namespace {
class NodePrinter { … };
}
void NodePrinter::print(Type type) { … }
void NodePrinter::print(const Node *node) { … }
void NodePrinter::printImpl(const CompoundStmt *stmt) { … }
void NodePrinter::printImpl(const EraseStmt *stmt) { … }
void NodePrinter::printImpl(const LetStmt *stmt) { … }
void NodePrinter::printImpl(const ReplaceStmt *stmt) { … }
void NodePrinter::printImpl(const ReturnStmt *stmt) { … }
void NodePrinter::printImpl(const RewriteStmt *stmt) { … }
void NodePrinter::printImpl(const AttributeExpr *expr) { … }
void NodePrinter::printImpl(const CallExpr *expr) { … }
void NodePrinter::printImpl(const DeclRefExpr *expr) { … }
void NodePrinter::printImpl(const MemberAccessExpr *expr) { … }
void NodePrinter::printImpl(const OperationExpr *expr) { … }
void NodePrinter::printImpl(const RangeExpr *expr) { … }
void NodePrinter::printImpl(const TupleExpr *expr) { … }
void NodePrinter::printImpl(const TypeExpr *expr) { … }
void NodePrinter::printImpl(const AttrConstraintDecl *decl) { … }
void NodePrinter::printImpl(const OpConstraintDecl *decl) { … }
void NodePrinter::printImpl(const TypeConstraintDecl *decl) { … }
void NodePrinter::printImpl(const TypeRangeConstraintDecl *decl) { … }
void NodePrinter::printImpl(const UserConstraintDecl *decl) { … }
void NodePrinter::printImpl(const ValueConstraintDecl *decl) { … }
void NodePrinter::printImpl(const ValueRangeConstraintDecl *decl) { … }
void NodePrinter::printImpl(const NamedAttributeDecl *decl) { … }
void NodePrinter::printImpl(const OpNameDecl *decl) { … }
void NodePrinter::printImpl(const PatternDecl *decl) { … }
void NodePrinter::printImpl(const UserRewriteDecl *decl) { … }
void NodePrinter::printImpl(const VariableDecl *decl) { … }
void NodePrinter::printImpl(const Module *module) { … }
void Node::print(raw_ostream &os) const { … }
void Type::print(raw_ostream &os) const { … }