|
clang 23.0.0git
|
#include "/home/buildbot/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 |
| FunctionPointer | toFunctionPointer (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 24 of file MemberPointer.h.
|
default |
Referenced by atInstanceBase(), and takeInstance().
Definition at line 46 of file MemberPointer.h.
|
inline |
Definition at line 48 of file MemberPointer.h.
|
inline |
Definition at line 53 of file MemberPointer.h.
References clang::isa().
|
inline |
Definition at line 139 of file MemberPointer.h.
References MemberPointer().
| ComparisonCategoryResult clang::interp::MemberPointer::compare | ( | const MemberPointer & | RHS | ) | const |
Definition at line 97 of file MemberPointer.cpp.
References clang::Equal, getDecl(), and clang::Unordered.
Referenced by clang::interp::CmpHelperEQ< MemberPointer >().
|
inline |
Definition at line 111 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 68 of file MemberPointer.h.
Referenced by compare(), print(), toAPValue(), toDiagnosticString(), toFunctionPointer(), and toPointer().
|
inline |
Return the base declaration as a FieldDecl. Might return null.
Definition at line 126 of file MemberPointer.h.
Referenced by getRecordDecl().
|
inline |
Definition at line 57 of file MemberPointer.h.
|
inline |
Return the base declaration as a CXXMethodDecl. Might return null.
Definition at line 121 of file MemberPointer.h.
Referenced by getRecordDecl(), and isWeak().
|
inline |
Return the cast path entry at the given position.
Definition at line 76 of file MemberPointer.h.
|
inline |
Return the length of the cast path.
Definition at line 74 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 130 of file MemberPointer.h.
References clang::cast(), getField(), and getMemberFunction().
|
inline |
Definition at line 83 of file MemberPointer.h.
Referenced by toAPValue().
|
inline |
Does this member pointer have a base declaration?
Definition at line 65 of file MemberPointer.h.
Referenced by isZero().
|
inline |
Does this member pointer have a path (i.e. path length is > 0)?
Definition at line 72 of file MemberPointer.h.
|
inline |
Definition at line 105 of file MemberPointer.h.
|
inline |
Definition at line 66 of file MemberPointer.h.
Referenced by print(), and toAPValue().
|
inline |
Is the base declaration a member function?
Definition at line 117 of file MemberPointer.h.
|
inline |
Definition at line 84 of file MemberPointer.h.
References getMemberFunction().
|
inline |
Definition at line 82 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 81 of file MemberPointer.h.
|
inline |
Definition at line 157 of file MemberPointer.h.
References getDecl(), getPathLength(), and isDerivedMember().
Referenced by clang::interp::operator<<().
|
inline |
Definition at line 99 of file MemberPointer.h.
|
inline |
Definition at line 149 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 93 of file MemberPointer.h.
| APValue clang::interp::MemberPointer::toAPValue | ( | const ASTContext & | ASTCtx | ) | const |
Definition at line 84 of file MemberPointer.cpp.
References clang::APValue, getDecl(), hasBase(), isDerivedMember(), and isZero().
Referenced by toDiagnosticString().
|
inline |
Definition at line 163 of file MemberPointer.h.
References clang::APValue::getAsString(), getDecl(), getType(), and toAPValue().
| FunctionPointer clang::interp::MemberPointer::toFunctionPointer | ( | const Context & | Ctx | ) | const |
Definition at line 79 of file MemberPointer.cpp.
References clang::cast(), getDecl(), clang::interp::Program::getFunction(), and clang::interp::Context::getProgram().
Definition at line 18 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.