clang 24.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 isActive () const
bool isArrayRoot () const
bool isElementPastEnd () const
bool isZeroSizeArray () const
bool isMutable () const
bool isExtern () const
bool isVolatile () const
bool inUnion () const
bool inArray () const
bool inPrimitiveArray () const
bool canBeInitialized () const
const Block * block () const
unsigned getEvalID ()
bool isRoot () const
bool isConst () const
InlineDescriptor * getInlineDesc () const
InlineDescriptor * getDescriptor (unsigned Offset) const
const Descriptor * getFieldDesc () const
const Descriptor * getDeclDesc () const
size_t elemSize () const
PtrView narrow () const
PtrView expand () const
PtrView stripBaseCasts () const
PtrView getArray () const
const Record * getRecord () const
const Record * getElemRecord () const
const FieldDecl * getField () 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
InitMapPtr & getInitMap () 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

Block * Pointee
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()

PtrView clang::interp::PtrView::atField ( unsigned Offset) const
inlinenodiscard

◆ atIndex()

◆ block()

const Block * clang::interp::PtrView::block ( ) const
inline

Definition at line 60 of file Pointer.h.

References Pointee.

Referenced by clang::interp::copyRecord(), and clang::interp::DynamicCast().

◆ canBeInitialized()

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

Definition at line 59 of file Pointer.h.

References Base, and Pointee.

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

◆ 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 335 of file Pointer.h.

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

◆ expand()

◆ getArray()

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

◆ getBase()

◆ getDeclDesc()

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

◆ getDescriptor()

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

Definition at line 77 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 62 of file Pointer.h.

References Pointee.

◆ getField()

◆ getFieldDesc()

◆ getIndex()

int64_t clang::interp::PtrView::getIndex ( ) const
inline

◆ getInitMap()

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

Definition at line 326 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

Definition at line 234 of file Pointer.h.

References elemSize(), and getSize().

Referenced by elem(), and initializeElement().

◆ getOffset()

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

Definition at line 178 of file Pointer.h.

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

Referenced by getIndex().

◆ getRecord()

◆ getSize()

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

Definition at line 190 of file Pointer.h.

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

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

◆ getType()

◆ inArray()

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

◆ initialize()

◆ initializeElement()

◆ inPrimitiveArray()

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

Definition at line 58 of file Pointer.h.

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

Referenced by expand(), getType(), and narrow().

◆ inUnion()

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

Definition at line 56 of file Pointer.h.

References getInlineDesc(), and clang::interp::InlineDescriptor::InUnion.

Referenced by activate().

◆ isActive()

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

◆ isArrayElement()

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

◆ isArrayRoot()

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

Definition at line 46 of file Pointer.h.

References Base, inArray(), and Offset.

Referenced by allElementsInitialized(), deref(), getLifetime(), and setLifeState().

◆ isBaseClass()

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

◆ isConst()

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

◆ isElementInitialized()

◆ isElementPastEnd()

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

Definition at line 47 of file Pointer.h.

References Offset, and PastEndMark.

Referenced by expand().

◆ isExtern()

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

Definition at line 52 of file Pointer.h.

References Pointee.

◆ isField()

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

Definition at line 164 of file Pointer.h.

References clang::interp::Descriptor::asDecl(), getFieldDesc(), isRoot(), and isZero().

Referenced by isBaseClass(), and isVirtualBaseClass().

◆ isInitialized()

◆ isLive()

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

Definition at line 44 of file Pointer.h.

References Pointee.

Referenced by clang::interp::copyComposite(), deref(), and elem().

◆ isMutable()

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

◆ isOnePastEnd()

◆ isPastEnd()

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

Definition at line 176 of file Pointer.h.

References Offset, and Pointee.

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

◆ isRoot()

◆ isUnknownSizeArray()

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

Definition at line 172 of file Pointer.h.

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

Referenced by narrow().

◆ isVirtualBaseClass()

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

◆ isVolatile()

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

◆ 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 48 of file Pointer.h.

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

◆ narrow()

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

◆ operator!=()

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

Definition at line 342 of file Pointer.h.

References clang::Other.

◆ operator==()

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

Definition at line 337 of file Pointer.h.

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

◆ setLifeState()

◆ startLifetime()

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

Definition at line 334 of file Pointer.h.

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

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

◆ stripBaseCasts()

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

Definition at line 145 of file Pointer.h.

References V.

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

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: