|
clang 23.0.0git
|
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Pointer.h"
Public Attributes | |
| Block * | Pointee |
| unsigned | Base |
| uint64_t | Offset |
Static Public Attributes | |
| static constexpr unsigned | PastEndMark = ~0u |
| void PtrView::activate | ( | ) | const |
Definition at line 734 of file Pointer.cpp.
References activate(), atField(), Base, std::function, getArray(), getBase(), getFieldDesc(), getInlineDesc(), getRecord(), inUnion(), clang::interp::InlineDescriptor::IsActive, isArrayElement(), clang::interp::Descriptor::isPrimitiveArray(), isRoot(), clang::interp::Record::isUnion(), and startLifetime().
Referenced by clang::interp::Pointer::activate(), activate(), and clang::interp::copyRecord().
| bool PtrView::allElementsInitialized | ( | ) | const |
Definition at line 701 of file Pointer.cpp.
References clang::interp::InitMapPtr::allInitialized(), Base, getFieldDesc(), getInitMap(), clang::interp::Initialized, clang::interp::GlobalInlineDescriptor::InitState, isArrayRoot(), isRoot(), Offset, and Pointee.
Referenced by clang::interp::Pointer::allElementsInitialized(), and clang::interp::CheckArrayInitialized().
Definition at line 253 of file Pointer.h.
References Offset, and Pointee.
Referenced by activate(), clang::interp::CheckFieldsInitialized(), clang::interp::collectBlocks(), clang::interp::copyRecord(), enumerateData(), clang::interp::setLifeStateRecurse(), clang::interp::SetThreeWayComparisonField(), clang::interp::startLifetimeRecurse(), clang::interp::Pointer::toRValue(), and clang::interp::zeroAll().
Definition at line 189 of file Pointer.h.
References Base, elemSize(), getFieldDesc(), clang::Off, and Pointee.
Referenced by clang::interp::CheckArrayInitialized(), clang::interp::collectBlocks(), clang::interp::copyComposite(), enumerateData(), clang::interp::interp__builtin_strcmp(), clang::interp::interp__builtin_strlen(), clang::interp::setLifeStateRecurse(), clang::interp::startLifetimeRecurse(), and clang::interp::zeroAll().
|
inline |
Definition at line 56 of file Pointer.h.
References Pointee.
Referenced by clang::interp::CheckMutable(), and clang::interp::DynamicCast().
|
inline |
Definition at line 224 of file Pointer.h.
References Base, isArrayRoot(), isLive(), Offset, and Pointee.
Referenced by clang::interp::collectBlocks(), clang::interp::copyComposite(), clang::interp::copyRecord(), clang::interp::Pointer::deref(), clang::interp::DoBitCastPtr(), clang::interp::interp__builtin_strcmp(), clang::interp::interp__builtin_strlen(), clang::interp::readPointerToBuffer(), clang::interp::SetThreeWayComparisonField(), and clang::interp::Pointer::toRValue().
|
inline |
Definition at line 235 of file Pointer.h.
References Base, clang::interp::Descriptor::getElemSize(), getFieldDesc(), getNumElems(), isLive(), and Pointee.
Referenced by clang::interp::collectBlocks(), clang::interp::copyComposite(), and clang::interp::Pointer::elem().
|
inline |
Definition at line 85 of file Pointer.h.
References clang::interp::Descriptor::getElemSize(), and getFieldDesc().
Referenced by atIndex(), clang::interp::Pointer::computeOffsetForComparison(), clang::interp::Pointer::elemSize(), getIndex(), and getNumElems().
|
inline |
Definition at line 311 of file Pointer.h.
References clang::interp::Ended, and setLifeState().
|
inlinenodiscard |
Definition at line 111 of file Pointer.h.
References Base, clang::interp::InlineDescriptor::Desc, getDeclDesc(), getDescriptor(), getInlineDesc(), getSize(), inPrimitiveArray(), clang::interp::Descriptor::IsArray, isElementPastEnd(), isRoot(), Next, clang::interp::InlineDescriptor::Offset, Offset, and Pointee.
Referenced by clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), and clang::interp::Pointer::toAPValue().
|
inlinenodiscard |
Definition at line 140 of file Pointer.h.
References Base, Offset, and Pointee.
Referenced by activate(), clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), getLifetime(), and clang::interp::Pointer::toAPValue().
|
inlinenodiscard |
Definition at line 248 of file Pointer.h.
References Base, getInlineDesc(), clang::interp::InlineDescriptor::Offset, and Pointee.
Referenced by activate(), clang::interp::CheckMutable(), clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 83 of file Pointer.h.
References Pointee.
Referenced by clang::interp::CheckFieldsInitialized(), clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), expand(), and getType().
|
inline |
|
inline |
Definition at line 146 of file Pointer.h.
References clang::interp::Descriptor::ElemDesc, clang::interp::Descriptor::ElemRecord, and getFieldDesc().
Referenced by clang::interp::Pointer::getElemRecord().
|
inline |
|
inline |
Definition at line 150 of file Pointer.h.
References clang::interp::Descriptor::asFieldDecl(), and getFieldDesc().
Referenced by clang::interp::CheckArrayInitialized(), clang::interp::CheckMutable(), clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), and clang::interp::DoBitCastPtr().
|
inline |
Definition at line 77 of file Pointer.h.
References clang::interp::InlineDescriptor::Desc, getInlineDesc(), isRoot(), and Pointee.
Referenced by activate(), allElementsInitialized(), atIndex(), clang::interp::CheckArrayInitialized(), clang::interp::CheckFieldsInitialized(), clang::interp::collectBlocks(), clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeSplitPoint(), clang::interp::copyComposite(), clang::interp::copyRecord(), elem(), elemSize(), enumerateData(), getElemRecord(), getField(), getOffset(), getRecord(), getSize(), getType(), inArray(), initialize(), initializeElement(), inPrimitiveArray(), isElementInitialized(), isField(), isInitialized(), isUnknownSizeArray(), isZeroSizeArray(), setLifeState(), clang::interp::setLifeStateRecurse(), clang::interp::SetThreeWayComparisonField(), clang::interp::startLifetimeRecurse(), clang::interp::Pointer::toAPValue(), clang::interp::Pointer::toRValue(), and clang::interp::zeroAll().
|
inline |
Definition at line 198 of file Pointer.h.
References Base, elemSize(), getOffset(), isZero(), and Offset.
Referenced by clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), enumerateData(), clang::interp::Pointer::getIndex(), getLifetime(), initialize(), isInitialized(), setLifeState(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 302 of file Pointer.h.
Referenced by allElementsInitialized(), getLifetime(), initializeElement(), isElementInitialized(), and setLifeState().
|
inline |
Definition at line 64 of file Pointer.h.
References Base, getDescriptor(), and getSize().
Referenced by activate(), clang::interp::Pointer::computeOffsetForComparison(), expand(), getBase(), getFieldDesc(), getLifetime(), initialize(), inUnion(), isActive(), isArrayElement(), isBaseClass(), isInitialized(), isMutable(), isVirtualBaseClass(), and setLifeState().
| Lifetime PtrView::getLifetime | ( | ) | const |
Definition at line 611 of file Pointer.cpp.
References clang::interp::InitMapPtr::allInitialized(), Base, clang::interp::Ended, getArray(), getIndex(), getInitMap(), getInlineDesc(), getLifetime(), clang::interp::InitMapPtr::hasInitMap(), inArray(), isArrayRoot(), clang::interp::InitMap::isElementAlive(), clang::interp::InlineDescriptor::LifeState, and clang::interp::Started.
Referenced by getLifetime(), setLifeState(), clang::interp::setLifeStateRecurse(), and clang::interp::startLifetimeRecurse().
|
inline |
Definition at line 210 of file Pointer.h.
References elemSize(), and getSize().
Referenced by elem(), clang::interp::Pointer::getNumElems(), initializeElement(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 166 of file Pointer.h.
References Base, getFieldDesc(), Offset, and PastEndMark.
Referenced by getIndex(), clang::interp::Pointer::getOffset(), and isOnePastEnd().
|
inline |
Definition at line 145 of file Pointer.h.
References clang::interp::Descriptor::ElemRecord, and getFieldDesc().
Referenced by activate(), clang::interp::CheckFieldsInitialized(), clang::interp::Pointer::computeOffsetForComparison(), clang::interp::DynamicCast(), clang::interp::Pointer::getRecord(), clang::interp::setLifeStateRecurse(), clang::interp::startLifetimeRecurse(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 178 of file Pointer.h.
References getFieldDesc(), and clang::interp::Descriptor::getSize().
Referenced by expand(), getInlineDesc(), getNumElems(), and isOnePastEnd().
|
inline |
Definition at line 258 of file Pointer.h.
References Base, getDeclDesc(), getFieldDesc(), clang::interp::Descriptor::getType(), getType(), inPrimitiveArray(), isRoot(), and Offset.
Referenced by clang::interp::DynamicCast(), clang::interp::Pointer::getType(), and getType().
|
inline |
Definition at line 54 of file Pointer.h.
References getFieldDesc(), and clang::interp::Descriptor::IsArray.
Referenced by getLifetime(), clang::interp::Pointer::inArray(), isArrayElement(), isArrayRoot(), narrow(), and setLifeState().
| void PtrView::initialize | ( | ) | const |
Definition at line 652 of file Pointer.cpp.
References Base, getFieldDesc(), getIndex(), getInlineDesc(), clang::interp::Descriptor::getNumElems(), clang::interp::Initialized, initializeElement(), clang::interp::GlobalInlineDescriptor::InitState, clang::interp::InlineDescriptor::IsInitialized, clang::interp::Descriptor::isPrimitiveArray(), isRoot(), clang::interp::InlineDescriptor::LifeState, Offset, Pointee, and clang::interp::Started.
Referenced by clang::interp::copyRecord(), clang::interp::DoBitCastPtr(), enumerateData(), clang::interp::Pointer::initialize(), and clang::interp::SetThreeWayComparisonField().
| void PtrView::initializeElement | ( | unsigned | Index | ) | const |
Definition at line 673 of file Pointer.cpp.
References clang::interp::InitMapPtr::allInitialized(), Base, getFieldDesc(), getInitMap(), clang::interp::Descriptor::getNumElems(), getNumElems(), clang::interp::InitMapPtr::hasInitMap(), clang::interp::InitMap::initializeElement(), clang::interp::InitMapPtr::noteAllInitialized(), Pointee, and clang::interp::InitMapPtr::setInitMap().
Referenced by clang::interp::copyComposite(), initialize(), and clang::interp::Pointer::initializeElement().
|
inline |
Definition at line 55 of file Pointer.h.
References getFieldDesc(), and clang::interp::Descriptor::isPrimitiveArray().
Referenced by expand(), getType(), clang::interp::Pointer::inPrimitiveArray(), and narrow().
|
inline |
Definition at line 53 of file Pointer.h.
References getInlineDesc(), and clang::interp::InlineDescriptor::InUnion.
Referenced by activate(), and clang::interp::Pointer::inUnion().
|
inline |
Definition at line 46 of file Pointer.h.
References getInlineDesc(), clang::interp::InlineDescriptor::IsActive, and isRoot().
Referenced by clang::interp::CheckFieldsInitialized(), clang::interp::copyRecord(), clang::interp::Pointer::isActive(), and clang::interp::Pointer::toRValue().
|
inline |
Definition at line 212 of file Pointer.h.
References Base, getInlineDesc(), inArray(), and Offset.
Referenced by activate(), clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), clang::interp::Pointer::isArrayElement(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 47 of file Pointer.h.
References Base, inArray(), and Offset.
Referenced by allElementsInitialized(), deref(), getLifetime(), clang::interp::Pointer::isArrayRoot(), setLifeState(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 156 of file Pointer.h.
References getInlineDesc(), clang::interp::InlineDescriptor::IsBase, and isField().
Referenced by clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), and clang::interp::Pointer::isBaseClass().
|
inline |
Definition at line 45 of file Pointer.h.
References Pointee.
Referenced by clang::interp::collectBlocks(), and clang::interp::Pointer::isDummy().
Definition at line 573 of file Pointer.cpp.
References clang::interp::InitMapPtr::allInitialized(), Base, getFieldDesc(), getInitMap(), clang::interp::InitMapPtr::hasInitMap(), clang::interp::Initialized, clang::interp::GlobalInlineDescriptor::InitState, clang::interp::InitMap::isElementInitialized(), isInitialized(), clang::interp::Descriptor::isPrimitiveArray(), isRoot(), Offset, and Pointee.
Referenced by clang::interp::Pointer::isElementInitialized(), and isInitialized().
|
inline |
Definition at line 48 of file Pointer.h.
References Offset, and PastEndMark.
Referenced by expand().
|
inline |
Definition at line 152 of file Pointer.h.
References clang::interp::Descriptor::asDecl(), getFieldDesc(), isRoot(), and isZero().
Referenced by isBaseClass(), clang::interp::Pointer::isField(), isVirtualBaseClass(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 281 of file Pointer.h.
References Base, getFieldDesc(), getIndex(), getInlineDesc(), clang::interp::Initialized, clang::interp::GlobalInlineDescriptor::InitState, isElementInitialized(), clang::interp::InlineDescriptor::IsInitialized, clang::interp::Descriptor::isPrimitiveArray(), isRoot(), Offset, and Pointee.
Referenced by clang::interp::CheckFieldsInitialized(), clang::interp::copyRecord(), enumerateData(), isElementInitialized(), and clang::interp::readPointerToBuffer().
|
inline |
Definition at line 44 of file Pointer.h.
References Pointee.
Referenced by clang::interp::CheckMutable(), clang::interp::collectBlocks(), clang::interp::copyComposite(), deref(), elem(), and clang::interp::Pointer::isLive().
|
inline |
Definition at line 50 of file Pointer.h.
References getInlineDesc(), clang::interp::InlineDescriptor::IsFieldMutable, and isRoot().
Referenced by clang::interp::CheckMutable(), and clang::interp::Pointer::isMutable().
|
inline |
Definition at line 180 of file Pointer.h.
References getOffset(), getSize(), isPastEnd(), isUnknownSizeArray(), and Pointee.
Referenced by clang::interp::CheckRange(), clang::interp::collectBlocks(), clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), narrow(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 164 of file Pointer.h.
References Offset, and Pointee.
Referenced by clang::interp::Pointer::computeLayoutOffset(), and isOnePastEnd().
|
inline |
Definition at line 60 of file Pointer.h.
Referenced by activate(), allElementsInitialized(), clang::interp::CheckMutable(), clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), clang::interp::Pointer::computeSplitPoint(), expand(), getFieldDesc(), getType(), initialize(), isActive(), isElementInitialized(), isField(), isInitialized(), isMutable(), and clang::interp::Pointer::isRoot().
|
inline |
Definition at line 160 of file Pointer.h.
References getFieldDesc(), and clang::interp::Descriptor::isUnknownSizeArray().
Referenced by clang::interp::collectBlocks(), isOnePastEnd(), and narrow().
|
inline |
Definition at line 157 of file Pointer.h.
References getInlineDesc(), isField(), and clang::interp::InlineDescriptor::IsVirtualBase.
Referenced by clang::interp::Pointer::computeLayoutOffset(), clang::interp::Pointer::computeOffsetForComparison(), clang::interp::Pointer::isVirtualBaseClass(), and clang::interp::Pointer::toAPValue().
|
inline |
Definition at line 43 of file Pointer.h.
References Pointee.
Referenced by clang::interp::collectBlocks(), getIndex(), isField(), and narrow().
|
inline |
Definition at line 49 of file Pointer.h.
References getFieldDesc(), and clang::interp::Descriptor::isZeroSizeArray().
Referenced by clang::interp::CheckRange().
|
inlinenodiscard |
Definition at line 87 of file Pointer.h.
References Base, inArray(), inPrimitiveArray(), isOnePastEnd(), isUnknownSizeArray(), isZero(), Offset, PastEndMark, and Pointee.
Referenced by clang::interp::CheckArrayInitialized(), clang::interp::collectBlocks(), clang::interp::copyComposite(), enumerateData(), clang::interp::setLifeStateRecurse(), clang::interp::startLifetimeRecurse(), and clang::interp::zeroAll().
Definition at line 318 of file Pointer.h.
References clang::Other.
| void PtrView::setLifeState | ( | Lifetime | L | ) | const |
Definition at line 630 of file Pointer.cpp.
References clang::interp::InitMapPtr::allInitialized(), Base, clang::interp::Ended, clang::interp::InitMap::endElementLifetime(), getFieldDesc(), getIndex(), getInitMap(), getInlineDesc(), getLifetime(), clang::interp::Descriptor::getNumElems(), clang::interp::InitMapPtr::hasInitMap(), inArray(), isArrayRoot(), clang::interp::InlineDescriptor::LifeState, clang::interp::InitMapPtr::setInitMap(), clang::interp::Started, and clang::interp::InitMap::startElementLifetime().
Referenced by endLifetime(), clang::interp::Pointer::setLifeState(), clang::interp::setLifeStateRecurse(), and startLifetime().
|
inline |
Definition at line 310 of file Pointer.h.
References setLifeState(), and clang::interp::Started.
Referenced by activate(), enumerateData(), and clang::interp::startLifetimeRecurse().
| unsigned clang::interp::PtrView::Base |
Definition at line 40 of file Pointer.h.
Referenced by activate(), allElementsInitialized(), atIndex(), clang::interp::Pointer::computeSplitPoint(), deref(), elem(), expand(), getArray(), getBase(), getIndex(), getInitMap(), getInlineDesc(), getLifetime(), getOffset(), getType(), initialize(), initializeElement(), isArrayElement(), isArrayRoot(), isElementInitialized(), isInitialized(), isRoot(), narrow(), operator==(), and setLifeState().
| uint64_t clang::interp::PtrView::Offset |
Definition at line 41 of file Pointer.h.
Referenced by allElementsInitialized(), atField(), deref(), expand(), getArray(), getDescriptor(), getIndex(), getOffset(), getType(), initialize(), isArrayElement(), isArrayRoot(), isElementInitialized(), isElementPastEnd(), isInitialized(), isPastEnd(), narrow(), and operator==().
|
staticconstexpr |
Definition at line 37 of file Pointer.h.
Referenced by clang::interp::Pointer::getByteOffset(), clang::interp::Pointer::getOffset(), getOffset(), clang::interp::Pointer::isElementPastEnd(), isElementPastEnd(), and narrow().
| Block* clang::interp::PtrView::Pointee |
Definition at line 39 of file Pointer.h.
Referenced by allElementsInitialized(), atField(), atIndex(), block(), clang::interp::collectBlocks(), deref(), elem(), expand(), getArray(), getBase(), getDeclDesc(), getDescriptor(), getEvalID(), getFieldDesc(), getInitMap(), initialize(), initializeElement(), isDummy(), isElementInitialized(), isInitialized(), isLive(), isOnePastEnd(), isPastEnd(), isRoot(), isZero(), narrow(), and operator==().