LLVM 22.0.0git
llvm::DIExpressionCursor Class Reference

Holds a DIExpression and keeps track of how many operands have been consumed so far. More...

#include "llvm/IR/DebugInfoMetadata.h"

Public Member Functions

 DIExpressionCursor (const DIExpression *Expr)
 DIExpressionCursor (ArrayRef< uint64_t > Expr)
 DIExpressionCursor (const DIExpressionCursor &)=default
std::optional< DIExpression::ExprOperandtake ()
 Consume one operation.
void consume (unsigned N)
 Consume N operations.
std::optional< DIExpression::ExprOperandpeek () const
 Return the current operation.
std::optional< DIExpression::ExprOperandpeekNext () const
 Return the next operation.
std::optional< DIExpression::ExprOperandpeekNextN (unsigned N) const
void assignNewExpr (ArrayRef< uint64_t > Expr)
 operator bool () const
 Determine whether there are any operations left in this expression.
DIExpression::expr_op_iterator begin () const
DIExpression::expr_op_iterator end () const
std::optional< DIExpression::FragmentInfogetFragmentInfo () const
 Retrieve the fragment information, if any.

Detailed Description

Holds a DIExpression and keeps track of how many operands have been consumed so far.

Definition at line 3781 of file DebugInfoMetadata.h.

Constructor & Destructor Documentation

◆ DIExpressionCursor() [1/3]

llvm::DIExpressionCursor::DIExpressionCursor ( const DIExpression * Expr)
inline

◆ DIExpressionCursor() [2/3]

llvm::DIExpressionCursor::DIExpressionCursor ( ArrayRef< uint64_t > Expr)
inline

Definition at line 3794 of file DebugInfoMetadata.h.

References begin(), and end().

◆ DIExpressionCursor() [3/3]

llvm::DIExpressionCursor::DIExpressionCursor ( const DIExpressionCursor & )
default

References DIExpressionCursor().

Member Function Documentation

◆ assignNewExpr()

void llvm::DIExpressionCursor::assignNewExpr ( ArrayRef< uint64_t > Expr)
inline

◆ begin()

DIExpression::expr_op_iterator llvm::DIExpressionCursor::begin ( ) const
inline

Definition at line 3848 of file DebugInfoMetadata.h.

Referenced by DIExpressionCursor().

◆ consume()

void llvm::DIExpressionCursor::consume ( unsigned N)
inline

Consume N operations.

Definition at line 3807 of file DebugInfoMetadata.h.

References N.

Referenced by llvm::DwarfExpression::addMachineRegExpression().

◆ end()

DIExpression::expr_op_iterator llvm::DIExpressionCursor::end ( ) const
inline

Definition at line 3849 of file DebugInfoMetadata.h.

Referenced by DIExpressionCursor().

◆ getFragmentInfo()

std::optional< DIExpression::FragmentInfo > llvm::DIExpressionCursor::getFragmentInfo ( ) const
inline

Retrieve the fragment information, if any.

Definition at line 3852 of file DebugInfoMetadata.h.

References llvm::DIExpression::getFragmentInfo().

Referenced by llvm::DwarfExpression::addMachineRegExpression().

◆ operator bool()

llvm::DIExpressionCursor::operator bool ( ) const
inline

Determine whether there are any operations left in this expression.

Definition at line 3846 of file DebugInfoMetadata.h.

◆ peek()

std::optional< DIExpression::ExprOperand > llvm::DIExpressionCursor::peek ( ) const
inline

Return the current operation.

Definition at line 3810 of file DebugInfoMetadata.h.

Referenced by llvm::DwarfExpression::addMachineRegExpression().

◆ peekNext()

std::optional< DIExpression::ExprOperand > llvm::DIExpressionCursor::peekNext ( ) const
inline

Return the next operation.

Definition at line 3817 of file DebugInfoMetadata.h.

References llvm::Next.

Referenced by llvm::DwarfExpression::addMachineRegExpression().

◆ peekNextN()

std::optional< DIExpression::ExprOperand > llvm::DIExpressionCursor::peekNextN ( unsigned N) const
inline

Definition at line 3828 of file DebugInfoMetadata.h.

References llvm::DIExpression::expr_op_iterator::getNext(), I, and N.

◆ take()

std::optional< DIExpression::ExprOperand > llvm::DIExpressionCursor::take ( )
inline

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