clang 23.0.0git
clang::interp::PtrView Struct Reference

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Pointer.h"

Public Member Functions

bool isZero () const
bool isLive () const
bool isDummy () const
bool isActive () const
bool isArrayRoot () const
bool isElementPastEnd () const
bool isZeroSizeArray () const
bool isMutable () const
bool inUnion () const
bool inArray () const
bool inPrimitiveArray () const
unsigned getEvalID ()
bool isRoot () const
InlineDescriptorgetInlineDesc () const
InlineDescriptorgetDescriptor (unsigned Offset) const
const DescriptorgetFieldDesc () const
const DescriptorgetDeclDesc () const
size_t elemSize () const
PtrView narrow () const
PtrView expand () const
PtrView getArray () const
const RecordgetRecord () const
const RecordgetElemRecord () const
const FieldDeclgetField () const
bool isField () const
bool isBaseClass () const
bool isVirtualBaseClass () const
bool isUnknownSizeArray () const
bool isPastEnd () const
unsigned getOffset () const
size_t getSize () const
bool isOnePastEnd () const
PtrView atIndex (unsigned Idx) const
int64_t getIndex () const
unsigned getNumElems () const
bool isArrayElement () const
template<typename T>
T & deref () const
template<typename T>
T & elem (unsigned I) const
PtrView getBase () const
PtrView atField (unsigned Offset) const
QualType getType () const
bool isInitialized () const
void initializeElement (unsigned Index) const
bool allElementsInitialized () const
bool isElementInitialized (unsigned Index) const
InitMapPtrgetInitMap () const
void initialize () const
void activate () const
void setLifeState (Lifetime L) const
Lifetime getLifetime () const
void startLifetime () const
void endLifetime () const
bool operator== (const PtrView &Other) const
bool operator!= (const PtrView &Other) const

Public Attributes

BlockPointee
unsigned Base
uint64_t Offset

Static Public Attributes

static constexpr unsigned PastEndMark = ~0u

Detailed Description

Definition at line 36 of file Pointer.h.

Member Function Documentation

◆ activate()

◆ allElementsInitialized()

◆ atField()

◆ atIndex()

◆ deref()

◆ elem()

template<typename T>
T & clang::interp::PtrView::elem ( unsigned I) const
inline

◆ elemSize()

size_t clang::interp::PtrView::elemSize ( ) const
inline

◆ endLifetime()

void clang::interp::PtrView::endLifetime ( ) const
inline

Definition at line 310 of file Pointer.h.

References clang::interp::Ended, and setLifeState().

◆ expand()

◆ getArray()

PtrView clang::interp::PtrView::getArray ( ) const
inlinenodiscard

◆ getBase()

PtrView clang::interp::PtrView::getBase ( ) const
inlinenodiscard

◆ getDeclDesc()

const Descriptor * clang::interp::PtrView::getDeclDesc ( ) const
inline

◆ getDescriptor()

InlineDescriptor * clang::interp::PtrView::getDescriptor ( unsigned Offset) const
inline

Definition at line 70 of file Pointer.h.

References Offset, and Pointee.

Referenced by expand(), and getInlineDesc().

◆ getElemRecord()

const Record * clang::interp::PtrView::getElemRecord ( ) const
inline

◆ getEvalID()

unsigned clang::interp::PtrView::getEvalID ( )
inline

Definition at line 57 of file Pointer.h.

References Pointee.

Referenced by clang::interp::CheckMutable().

◆ getField()

◆ getFieldDesc()

◆ getIndex()

◆ getInitMap()

InitMapPtr & clang::interp::PtrView::getInitMap ( ) const
inline

Definition at line 301 of file Pointer.h.

References Base, and Pointee.

Referenced by allElementsInitialized(), getLifetime(), initializeElement(), isElementInitialized(), and setLifeState().

◆ getInlineDesc()

◆ getLifetime()

◆ getNumElems()

unsigned clang::interp::PtrView::getNumElems ( ) const
inline

◆ getOffset()

unsigned clang::interp::PtrView::getOffset ( ) const
inline

Definition at line 165 of file Pointer.h.

References Base, getFieldDesc(), Offset, and PastEndMark.

Referenced by getIndex(), clang::interp::Pointer::getOffset(), and isOnePastEnd().

◆ getRecord()

◆ getSize()

size_t clang::interp::PtrView::getSize ( ) const
inline

Definition at line 177 of file Pointer.h.

References getFieldDesc(), and clang::interp::Descriptor::getSize().

Referenced by expand(), getInlineDesc(), getNumElems(), and isOnePastEnd().

◆ getType()

QualType clang::interp::PtrView::getType ( ) const
inline

◆ inArray()

bool clang::interp::PtrView::inArray ( ) const
inline

◆ initialize()

◆ initializeElement()

◆ inPrimitiveArray()

bool clang::interp::PtrView::inPrimitiveArray ( ) const
inline

◆ inUnion()

bool clang::interp::PtrView::inUnion ( ) const
inline

◆ isActive()

◆ isArrayElement()

bool clang::interp::PtrView::isArrayElement ( ) const
inline

◆ isArrayRoot()

bool clang::interp::PtrView::isArrayRoot ( ) const
inline

◆ isBaseClass()

bool clang::interp::PtrView::isBaseClass ( ) const
inline

◆ isDummy()

bool clang::interp::PtrView::isDummy ( ) const
inline

Definition at line 45 of file Pointer.h.

References Pointee.

Referenced by clang::interp::Pointer::isDummy().

◆ isElementInitialized()

◆ isElementPastEnd()

bool clang::interp::PtrView::isElementPastEnd ( ) const
inline

Definition at line 48 of file Pointer.h.

References Offset, and PastEndMark.

Referenced by expand().

◆ isField()

bool clang::interp::PtrView::isField ( ) const
inline

◆ isInitialized()

◆ isLive()

bool clang::interp::PtrView::isLive ( ) const
inline

◆ isMutable()

bool clang::interp::PtrView::isMutable ( ) const
inline

◆ isOnePastEnd()

bool clang::interp::PtrView::isOnePastEnd ( ) const
inline

◆ isPastEnd()

bool clang::interp::PtrView::isPastEnd ( ) const
inline

Definition at line 163 of file Pointer.h.

References Offset, and Pointee.

Referenced by isOnePastEnd().

◆ isRoot()

◆ isUnknownSizeArray()

bool clang::interp::PtrView::isUnknownSizeArray ( ) const
inline

Definition at line 159 of file Pointer.h.

References getFieldDesc(), and clang::interp::Descriptor::isUnknownSizeArray().

Referenced by isOnePastEnd(), and narrow().

◆ isVirtualBaseClass()

◆ isZero()

bool clang::interp::PtrView::isZero ( ) const
inline

Definition at line 43 of file Pointer.h.

References Pointee.

Referenced by getIndex(), isField(), and narrow().

◆ isZeroSizeArray()

bool clang::interp::PtrView::isZeroSizeArray ( ) const
inline

Definition at line 49 of file Pointer.h.

References getFieldDesc(), and clang::interp::Descriptor::isZeroSizeArray().

Referenced by clang::interp::CheckRange().

◆ narrow()

◆ operator!=()

bool clang::interp::PtrView::operator!= ( const PtrView & Other) const
inline

Definition at line 317 of file Pointer.h.

References clang::Other.

◆ operator==()

bool clang::interp::PtrView::operator== ( const PtrView & Other) const
inline

Definition at line 312 of file Pointer.h.

References Base, Offset, clang::Other, and Pointee.

◆ setLifeState()

◆ startLifetime()

void clang::interp::PtrView::startLifetime ( ) const
inline

Definition at line 309 of file Pointer.h.

References setLifeState(), and clang::interp::Started.

Referenced by activate(), enumerateData(), and clang::interp::startLifetimeRecurse().

Member Data Documentation

◆ Base

◆ Offset

◆ PastEndMark

unsigned clang::interp::PtrView::PastEndMark = ~0u
staticconstexpr

◆ Pointee


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