clang 17.0.0git
|
Structure/Class descriptor. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/Interp/Record.h"
Classes | |
struct | Base |
Describes a base class. More... | |
struct | Field |
Describes a record field. More... | |
Public Types | |
using | FieldList = llvm::SmallVector< Field, 8 > |
Mapping from identifiers to field descriptors. | |
using | BaseList = llvm::SmallVector< Base, 8 > |
Mapping from identifiers to base classes. | |
using | VirtualBaseList = llvm::SmallVector< Base, 2 > |
List of virtual base classes. | |
using | const_field_iter = FieldList::const_iterator |
using | const_base_iter = BaseList::const_iterator |
using | const_virtual_iter = VirtualBaseList::const_iterator |
Public Member Functions | |
const RecordDecl * | getDecl () const |
Returns the underlying declaration. | |
const std::string | getName () const |
Returns the name of the underlying declaration. | |
bool | isUnion () const |
Checks if the record is a union. | |
unsigned | getSize () const |
Returns the size of the record. | |
unsigned | getFullSize () const |
Returns the full size of the record, including records. | |
const Field * | getField (const FieldDecl *FD) const |
Returns a field. | |
const Base * | getBase (const RecordDecl *FD) const |
Returns a base descriptor. | |
const Base * | getBase (QualType T) const |
Returns a base descriptor. | |
const Base * | getVirtualBase (const RecordDecl *RD) const |
Returns a virtual base descriptor. | |
const CXXDestructorDecl * | getDestructor () const |
llvm::iterator_range< const_field_iter > | fields () const |
unsigned | getNumFields () const |
const Field * | getField (unsigned I) const |
Field * | getField (unsigned I) |
llvm::iterator_range< const_base_iter > | bases () const |
unsigned | getNumBases () const |
Base * | getBase (unsigned I) |
llvm::iterator_range< const_virtual_iter > | virtual_bases () const |
unsigned | getNumVirtualBases () const |
Base * | getVirtualBase (unsigned I) |
Friends | |
class | Program |
using clang::interp::Record::BaseList = llvm::SmallVector<Base, 8> |
using clang::interp::Record::const_base_iter = BaseList::const_iterator |
using clang::interp::Record::const_field_iter = FieldList::const_iterator |
using clang::interp::Record::const_virtual_iter = VirtualBaseList::const_iterator |
using clang::interp::Record::FieldList = llvm::SmallVector<Field, 8> |
|
inline |
Definition at line 85 of file Record.h.
Referenced by clang::interp::CheckFieldsInitialized(), ctorRecord(), and dtorRecord().
|
inline |
Definition at line 76 of file Record.h.
Referenced by clang::interp::CheckFieldsInitialized(), ctorRecord(), dtorRecord(), and moveRecord().
const Record::Base * Record::getBase | ( | const RecordDecl * | FD | ) | const |
Returns a base descriptor.
Definition at line 36 of file Record.cpp.
Referenced by clang::interp::ByteCodeStmtGen< Emitter >::visitFunc(), and clang::interp::ByteCodeExprGen< Emitter >::visitRecordInitializer().
const Record::Base * Record::getBase | ( | QualType | T | ) | const |
Returns a base descriptor.
Definition at line 42 of file Record.cpp.
References clang::Type::getAs(), getDecl(), and clang::Type::isRecordType().
|
inline |
|
inline |
const Record::Field * Record::getField | ( | const FieldDecl * | FD | ) | const |
Returns a field.
Definition at line 30 of file Record.cpp.
Referenced by CheckActive(), clang::interp::ByteCodeStmtGen< Emitter >::visitFunc(), clang::interp::ByteCodeExprGen< Emitter >::VisitMemberExpr(), and clang::interp::ByteCodeExprGen< Emitter >::visitRecordInitializer().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 80 of file Record.h.
Referenced by CheckActive().
|
inline |
|
inline |
Returns the size of the record.
Definition at line 57 of file Record.h.
Referenced by clang::interp::Program::getOrCreateRecord().
const Record::Base * Record::getVirtualBase | ( | const RecordDecl * | RD | ) | const |
Returns a virtual base descriptor.
Definition at line 52 of file Record.cpp.
|
inline |
Checks if the record is a union.
Definition at line 55 of file Record.h.
References getDecl(), and clang::TagDecl::isUnion().
Referenced by CheckActive(), and ctorRecord().
|
inline |
Definition at line 93 of file Record.h.
Referenced by ctorRecord(), and dtorRecord().