MLIR 22.0.0git
mlir::pdll::ast::RangeExpr Class Referencefinal

This expression builds a range from a set of element values (which may be ranges themselves). More...

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

Inheritance diagram for mlir::pdll::ast::RangeExpr:

Public Member Functions

MutableArrayRef< Expr * > getElements ()
 Return the element expressions of this range.
ArrayRef< Expr * > getElements () const
RangeType getType () const
 Return the range result type of this expression.
Public Member Functions inherited from mlir::pdll::ast::Expr
Type getType () const
 Return the type of this expression.
Public Member Functions inherited from mlir::pdll::ast::Stmt
 Node (TypeID typeID, SMRange loc)
Public Member Functions inherited from mlir::pdll::ast::Node
TypeID getTypeID () const
 Return the type identifier of this node.
SMRange getLoc () const
 Return the location of this node.
void print (raw_ostream &os) const
 Print this node to the given stream.
void walk (function_ref< void(const Node *)> walkFn) const
 Walk all of the nodes including, and nested under, this node in pre-order.
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

Static Public Member Functions

static RangeExprcreate (Context &ctx, SMRange loc, ArrayRef< Expr * > elements, RangeType type)
Static Public Member Functions inherited from mlir::pdll::ast::Node::NodeBase< RangeExpr, Expr >
static bool classof (const Node *node)
 Provide type casting support.
Static Public Member Functions inherited from mlir::pdll::ast::Expr
static bool classof (const Node *node)
 Provide type casting support.
Static Public Member Functions inherited from mlir::pdll::ast::Stmt
static bool classof (const Node *node)
 Provide type casting support.

Friends

class llvm::TrailingObjects< RangeExpr, Expr * >
 TrailingObject utilities.

Additional Inherited Members

Public Types inherited from mlir::pdll::ast::Node::NodeBase< RangeExpr, Expr >
using Base
Protected Member Functions inherited from mlir::pdll::ast::Node::NodeBase< RangeExpr, Expr >
 NodeBase (SMRange loc, Args &&...args)
Protected Member Functions inherited from mlir::pdll::ast::Expr
 Expr (TypeID typeID, SMRange loc, Type type)
Protected Member Functions inherited from mlir::pdll::ast::Node
 Node (TypeID typeID, SMRange loc)

Detailed Description

This expression builds a range from a set of element values (which may be ranges themselves).

Definition at line 585 of file Nodes.h.

Member Function Documentation

◆ create()

RangeExpr * RangeExpr::create ( Context & ctx,
SMRange loc,
ArrayRef< Expr * > elements,
RangeType type )
static

Definition at line 335 of file Nodes.cpp.

References mlir::pdll::ast::Context::getAllocator(), and getElements().

◆ getElements() [1/2]

MutableArrayRef< Expr * > mlir::pdll::ast::RangeExpr::getElements ( )
inline

Return the element expressions of this range.

Definition at line 592 of file Nodes.h.

Referenced by create().

◆ getElements() [2/2]

ArrayRef< Expr * > mlir::pdll::ast::RangeExpr::getElements ( ) const
inline

Definition at line 595 of file Nodes.h.

◆ getType()

RangeType mlir::pdll::ast::RangeExpr::getType ( ) const
inline

Return the range result type of this expression.

Definition at line 600 of file Nodes.h.

References mlir::pdll::ast::Expr::getType().

◆ llvm::TrailingObjects< RangeExpr, Expr * >

friend class llvm::TrailingObjects< RangeExpr, Expr * >
friend

TrailingObject utilities.

Definition at line 607 of file Nodes.h.


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