clang 22.0.0git
|
Inline descriptor embedded in structures and arrays. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Descriptor.h"
Public Member Functions | |
InlineDescriptor (const Descriptor *D) | |
void | dump () const |
void | dump (llvm::raw_ostream &OS) const |
Public Attributes | |
unsigned | Offset |
Offset inside the structure/array. | |
unsigned | IsConst: 1 |
Flag indicating if the storage is constant or not. | |
unsigned | IsInitialized: 1 |
For primitive fields, it indicates if the field was initialized. | |
unsigned | IsBase: 1 |
Flag indicating if the field is an embedded base class. | |
unsigned | IsVirtualBase: 1 |
Flag inidcating if the field is a virtual base class. | |
unsigned | IsActive: 1 |
Flag indicating if the field is the active member of a union. | |
unsigned | InUnion: 1 |
Flag indicating if this field is in a union (even if nested). | |
unsigned | IsFieldMutable: 1 |
Flag indicating if the field is mutable (if in a record). | |
unsigned | IsConstInMutable: 1 |
Flag indicating if this field is a const field nested in a mutable parent field. | |
unsigned | IsArrayElement: 1 |
Flag indicating if the field is an element of a composite array. | |
unsigned | IsVolatile: 1 |
Lifetime | LifeState |
const Descriptor * | Desc |
Inline descriptor embedded in structures and arrays.
Such descriptors precede all composite array elements and structure fields. If the base of a pointer is not zero, the base points to the end of this structure. The offset field is used to traverse the pointer chain up to the root structure which allocated the object.
Definition at line 67 of file Descriptor.h.
|
inline |
Definition at line 110 of file Descriptor.h.
References Desc, false, InlineDescriptor(), IsActive, IsArrayElement, IsBase, IsConst, IsFieldMutable, IsInitialized, IsVolatile, LifeState, Offset, and clang::interp::Started.
Referenced by InlineDescriptor().
|
inline |
LLVM_DUMP_METHOD void InlineDescriptor::dump | ( | llvm::raw_ostream & | OS | ) | const |
Definition at line 446 of file Disasm.cpp.
References Desc, InUnion, IsActive, IsArrayElement, IsBase, IsConst, IsConstInMutable, IsFieldMutable, IsInitialized, and Offset.
const Descriptor* clang::interp::InlineDescriptor::Desc |
Definition at line 108 of file Descriptor.h.
Referenced by clang::interp::DynamicAllocator::allocate(), clang::interp::EvalEmitter::createLocal(), dump(), and InlineDescriptor().
unsigned clang::interp::InlineDescriptor::InUnion |
Flag indicating if this field is in a union (even if nested).
Definition at line 92 of file Descriptor.h.
Referenced by dump().
unsigned clang::interp::InlineDescriptor::IsActive |
Flag indicating if the field is the active member of a union.
Definition at line 89 of file Descriptor.h.
Referenced by clang::interp::Pointer::activate(), clang::interp::EvalEmitter::createLocal(), dump(), and InlineDescriptor().
unsigned clang::interp::InlineDescriptor::IsArrayElement |
Flag indicating if the field is an element of a composite array.
Definition at line 102 of file Descriptor.h.
Referenced by dump(), and InlineDescriptor().
unsigned clang::interp::InlineDescriptor::IsBase |
Flag indicating if the field is an embedded base class.
Definition at line 83 of file Descriptor.h.
Referenced by clang::interp::EvalEmitter::createLocal(), dump(), and InlineDescriptor().
unsigned clang::interp::InlineDescriptor::IsConst |
Flag indicating if the storage is constant or not.
Relevant for primitive fields.
Definition at line 74 of file Descriptor.h.
Referenced by clang::interp::EvalEmitter::createLocal(), dump(), and InlineDescriptor().
unsigned clang::interp::InlineDescriptor::IsConstInMutable |
Flag indicating if this field is a const field nested in a mutable parent field.
Definition at line 99 of file Descriptor.h.
Referenced by dump().
unsigned clang::interp::InlineDescriptor::IsFieldMutable |
Flag indicating if the field is mutable (if in a record).
Definition at line 95 of file Descriptor.h.
Referenced by clang::interp::EvalEmitter::createLocal(), dump(), and InlineDescriptor().
unsigned clang::interp::InlineDescriptor::IsInitialized |
For primitive fields, it indicates if the field was initialized.
Primitive fields in static storage are always initialized. Arrays are always initialized, even though their elements might not be. Base classes are initialized after the constructor is invoked.
Definition at line 80 of file Descriptor.h.
Referenced by clang::interp::EvalEmitter::createLocal(), dump(), and InlineDescriptor().
unsigned clang::interp::InlineDescriptor::IsVirtualBase |
Flag inidcating if the field is a virtual base class.
Definition at line 86 of file Descriptor.h.
unsigned clang::interp::InlineDescriptor::IsVolatile |
Definition at line 104 of file Descriptor.h.
Referenced by InlineDescriptor().
Lifetime clang::interp::InlineDescriptor::LifeState |
Definition at line 106 of file Descriptor.h.
Referenced by InlineDescriptor().
unsigned clang::interp::InlineDescriptor::Offset |
Offset inside the structure/array.
Definition at line 69 of file Descriptor.h.
Referenced by clang::interp::Pointer::computeOffsetForComparison(), clang::interp::EvalEmitter::createLocal(), dump(), initBase(), initField(), and InlineDescriptor().