|
MLIR
22.0.0git
|
This class represents a base AST node. More...
#include "mlir/Tools/PDLL/AST/Nodes.h"
Inheritance diagram for mlir::pdll::ast::Node:Classes | |
| class | NodeBase |
| This CRTP class provides several utilies when defining new AST nodes. More... | |
Public Member Functions | |
| TypeID | getTypeID () const |
| Return the type identifier of this node. More... | |
| SMRange | getLoc () const |
| Return the location of this node. More... | |
| void | print (raw_ostream &os) const |
| Print this node to the given stream. More... | |
| void | walk (function_ref< void(const Node *)> walkFn) const |
| Walk all of the nodes including, and nested under, this node in pre-order. More... | |
| template<typename WalkFnT , typename ArgT = typename llvm::function_traits< WalkFnT>::template arg_t<0>> | |
| std::enable_if_t<!std::is_convertible< const Node *, ArgT >::value > | walk (WalkFnT &&walkFn) const |
Protected Member Functions | |
| Node (TypeID typeID, SMRange loc) | |
This class represents a base AST node.
All AST nodes are derived from this class, and it contains many of the base functionality for interacting with nodes.
|
inlineprotected |
|
inline |
Return the location of this node.
Definition at line 131 of file Nodes.h.
Referenced by getDocumentationFor().
|
inline |
Return the type identifier of this node.
Definition at line 128 of file Nodes.h.
Referenced by mlir::pdll::ast::Node::NodeBase< T, BaseT >::classof().
| void Node::print | ( | raw_ostream & | os | ) | const |
Print this node to the given stream.
Definition at line 391 of file NodePrinter.cpp.
| void Node::walk | ( | function_ref< void(const Node *)> | walkFn | ) | const |
|
inline |