MLIR  20.0.0git
Classes | Public Member Functions | Protected Member Functions | List of all members
mlir::pdll::ast::Node Class Reference

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)
 

Detailed Description

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.

Definition at line 108 of file Nodes.h.

Constructor & Destructor Documentation

◆ Node()

mlir::pdll::ast::Node::Node ( TypeID  typeID,
SMRange  loc 
)
inlineprotected

Definition at line 149 of file Nodes.h.

Member Function Documentation

◆ getLoc()

SMRange mlir::pdll::ast::Node::getLoc ( ) const
inline

Return the location of this node.

Definition at line 131 of file Nodes.h.

Referenced by getDocumentationFor().

◆ getTypeID()

TypeID mlir::pdll::ast::Node::getTypeID ( ) const
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().

◆ print()

void Node::print ( raw_ostream &  os) const

Print this node to the given stream.

Definition at line 392 of file NodePrinter.cpp.

◆ walk() [1/2]

void Node::walk ( function_ref< void(const Node *)>  walkFn) const

Walk all of the nodes including, and nested under, this node in pre-order.

Definition at line 167 of file Nodes.cpp.

Referenced by walk().

◆ walk() [2/2]

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> mlir::pdll::ast::Node::walk ( WalkFnT &&  walkFn) const
inline

Definition at line 141 of file Nodes.h.

References walk().


The documentation for this class was generated from the following files: