|
clang 23.0.0git
|
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/MemberPointer.h"
Public Member Functions | |
| MemberPointer ()=default | |
| MemberPointer (Pointer Base, const ValueDecl *Dcl) | |
| MemberPointer (uint32_t Address, const Descriptor *D) | |
| MemberPointer (const ValueDecl *D) | |
| uint64_t | getIntegerRepresentation () const |
| bool | hasDecl () const |
| Does this member pointer have a base declaration? | |
| bool | isDerivedMember () const |
| const ValueDecl * | getDecl () const |
| Return the base declaration. Might be null. | |
| bool | hasPath () const |
| Does this member pointer have a path (i.e. path length is > 0)? | |
| unsigned | getPathLength () const |
| Return the length of the cast path. | |
| const CXXRecordDecl * | getPathEntry (unsigned Index) const |
| Return the cast path entry at the given position. | |
| const CXXRecordDecl ** | path () const |
| Return the cast path. Might return null. | |
| bool | isZero () const |
| bool | hasBase () const |
| bool | isWeak () const |
| void | takePath (const CXXRecordDecl **NewPath) |
| Sets the path of this member pointer. | |
| bool | singleWord () const |
| ComparisonCategoryResult | compare (const MemberPointer &RHS) const |
| std::optional< Pointer > | toPointer (const Context &Ctx) const |
| bool | isBaseCastPossible () const |
| Pointer | getBase () const |
| bool | isMemberFunctionPointer () const |
| Is the base declaration a member function? | |
| const CXXMethodDecl * | getMemberFunction () const |
| Return the base declaration as a CXXMethodDecl. Might return null. | |
| const FieldDecl * | getField () const |
| Return the base declaration as a FieldDecl. Might return null. | |
| const CXXRecordDecl * | getRecordDecl () const |
| Returns the record decl this member pointer points into. | |
| MemberPointer | atInstanceBase (unsigned Offset, uint8_t PathLength=0, const CXXRecordDecl **Path=nullptr, bool NewIsDerived=false) const |
| MemberPointer | takeInstance (Pointer Instance) const |
| APValue | toAPValue (const ASTContext &) const |
| void | print (llvm::raw_ostream &OS) const |
| std::string | toDiagnosticString (const ASTContext &Ctx) const |
Definition at line 23 of file MemberPointer.h.
|
default |
Referenced by atInstanceBase(), and takeInstance().
Definition at line 45 of file MemberPointer.h.
|
inline |
Definition at line 47 of file MemberPointer.h.
|
inline |
Definition at line 52 of file MemberPointer.h.
References clang::isa().
|
inline |
Definition at line 137 of file MemberPointer.h.
References MemberPointer().
| ComparisonCategoryResult clang::interp::MemberPointer::compare | ( | const MemberPointer & | RHS | ) | const |
Definition at line 91 of file MemberPointer.cpp.
References clang::Equal, getDecl(), and clang::Unordered.
Referenced by clang::interp::CmpHelperEQ< MemberPointer >().
|
inline |
Definition at line 109 of file MemberPointer.h.
References clang::interp::Pointer::atField(), and clang::interp::Pointer::atFieldSub().
|
inline |
Return the base declaration. Might be null.
Definition at line 67 of file MemberPointer.h.
Referenced by compare(), print(), toAPValue(), toDiagnosticString(), and toPointer().
|
inline |
Return the base declaration as a FieldDecl. Might return null.
Definition at line 124 of file MemberPointer.h.
Referenced by getRecordDecl().
|
inline |
Definition at line 56 of file MemberPointer.h.
|
inline |
Return the base declaration as a CXXMethodDecl. Might return null.
Definition at line 119 of file MemberPointer.h.
Referenced by getRecordDecl(), and isWeak().
|
inline |
Return the cast path entry at the given position.
Definition at line 75 of file MemberPointer.h.
|
inline |
Return the length of the cast path.
Definition at line 73 of file MemberPointer.h.
Referenced by clang::interp::copyPrimitiveMemory(), clang::interp::copyPrimitiveMemory(), clang::interp::InitGlobal(), and print().
|
inline |
Returns the record decl this member pointer points into.
Definition at line 128 of file MemberPointer.h.
References clang::cast(), getField(), and getMemberFunction().
|
inline |
Definition at line 82 of file MemberPointer.h.
Referenced by toAPValue().
|
inline |
Does this member pointer have a base declaration?
Definition at line 64 of file MemberPointer.h.
Referenced by isZero().
|
inline |
Does this member pointer have a path (i.e. path length is > 0)?
Definition at line 71 of file MemberPointer.h.
|
inline |
Definition at line 103 of file MemberPointer.h.
|
inline |
Definition at line 65 of file MemberPointer.h.
Referenced by print(), and toAPValue().
|
inline |
Is the base declaration a member function?
Definition at line 115 of file MemberPointer.h.
|
inline |
Definition at line 83 of file MemberPointer.h.
References getMemberFunction().
|
inline |
Definition at line 81 of file MemberPointer.h.
References hasDecl().
Referenced by clang::interp::CmpHelperEQ< MemberPointer >(), and toAPValue().
|
inline |
Return the cast path. Might return null.
Definition at line 80 of file MemberPointer.h.
|
inline |
Definition at line 155 of file MemberPointer.h.
References getDecl(), getPathLength(), and isDerivedMember().
Referenced by clang::interp::operator<<().
|
inline |
Definition at line 98 of file MemberPointer.h.
|
inline |
Definition at line 147 of file MemberPointer.h.
References clang::interp::Pointer::isZero(), and MemberPointer().
|
inline |
Sets the path of this member pointer.
After this call, the memory pointed to by NewPath is assumed to be owned by this member pointer.
Definition at line 92 of file MemberPointer.h.
| APValue clang::interp::MemberPointer::toAPValue | ( | const ASTContext & | ASTCtx | ) | const |
Definition at line 78 of file MemberPointer.cpp.
References clang::APValue, getDecl(), hasBase(), isDerivedMember(), and isZero().
Referenced by toDiagnosticString().
|
inline |
Definition at line 161 of file MemberPointer.h.
References clang::APValue::getAsString(), getDecl(), getType(), and toAPValue().
Definition at line 17 of file MemberPointer.cpp.
References clang::interp::Pointer::atField(), clang::interp::Pointer::block(), clang::cast(), clang::interp::Context::collectBaseOffset(), getDecl(), clang::interp::Record::getDecl(), clang::interp::Record::getField(), clang::DeclContext::getParent(), clang::FieldDecl::getParent(), clang::interp::Context::getRecord(), clang::interp::Pointer::getRecord(), clang::interp::Block::getSize(), clang::isa(), clang::interp::Record::Field::Offset, and Pointer.