MLIR  20.0.0git
Public Types | Static Public Member Functions | Protected Member Functions | List of all members
mlir::pdll::ast::Node::NodeBase< T, BaseT > Class Template Reference

This CRTP class provides several utilies when defining new AST nodes. More...

#include "mlir/Tools/PDLL/AST/Nodes.h"

Inherits BaseT.

Inherited by mlir::pdll::ast::AttrConstraintDecl, mlir::pdll::ast::AttributeExpr, mlir::pdll::ast::CallExpr, mlir::pdll::ast::CompoundStmt, mlir::pdll::ast::DeclRefExpr, mlir::pdll::ast::EraseStmt, mlir::pdll::ast::LetStmt, mlir::pdll::ast::MemberAccessExpr, mlir::pdll::ast::Module, mlir::pdll::ast::NamedAttributeDecl, mlir::pdll::ast::OpConstraintDecl, mlir::pdll::ast::OpNameDecl, mlir::pdll::ast::OperationExpr, mlir::pdll::ast::PatternDecl, mlir::pdll::ast::RangeExpr, mlir::pdll::ast::ReplaceStmt, mlir::pdll::ast::ReturnStmt, mlir::pdll::ast::RewriteStmt, mlir::pdll::ast::TupleExpr, mlir::pdll::ast::TypeConstraintDecl, mlir::pdll::ast::TypeExpr, mlir::pdll::ast::TypeRangeConstraintDecl, mlir::pdll::ast::UserConstraintDecl, mlir::pdll::ast::UserRewriteDecl, mlir::pdll::ast::ValueConstraintDecl, mlir::pdll::ast::ValueRangeConstraintDecl, and mlir::pdll::ast::VariableDecl.

Public Types

using Base = NodeBase< T, BaseT >
 

Static Public Member Functions

static bool classof (const Node *node)
 Provide type casting support. More...
 

Protected Member Functions

template<typename... Args>
 NodeBase (SMRange loc, Args &&...args)
 

Detailed Description

template<typename T, typename BaseT>
class mlir::pdll::ast::Node::NodeBase< T, BaseT >

This CRTP class provides several utilies when defining new AST nodes.

Definition at line 112 of file Nodes.h.

Member Typedef Documentation

◆ Base

template<typename T , typename BaseT >
using mlir::pdll::ast::Node::NodeBase< T, BaseT >::Base = NodeBase<T, BaseT>

Definition at line 114 of file Nodes.h.

Constructor & Destructor Documentation

◆ NodeBase()

template<typename T , typename BaseT >
template<typename... Args>
mlir::pdll::ast::Node::NodeBase< T, BaseT >::NodeBase ( SMRange  loc,
Args &&...  args 
)
inlineexplicitprotected

Definition at line 123 of file Nodes.h.

Member Function Documentation

◆ classof()

template<typename T , typename BaseT >
static bool mlir::pdll::ast::Node::NodeBase< T, BaseT >::classof ( const Node node)
inlinestatic

Provide type casting support.

Definition at line 117 of file Nodes.h.

References mlir::pdll::ast::Node::getTypeID().


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