MLIR
20.0.0git
|
This class represents a base AST node. More...
#include "mlir/Tools/PDLL/AST/Nodes.h"
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 392 of file NodePrinter.cpp.
void Node::walk | ( | function_ref< void(const Node *)> | walkFn | ) | const |
|
inline |