clang 22.0.0git
clang::interp::MemberPointer Class Referencefinal

#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
std::optional< PointertoPointer (const Context &Ctx) const
FunctionPointer toFunctionPointer (const Context &Ctx) const
bool isBaseCastPossible () const
Pointer getBase () const
bool isMemberFunctionPointer () const
const CXXMethodDeclgetMemberFunction () const
const FieldDeclgetField () const
bool hasDecl () const
const ValueDeclgetDecl () const
MemberPointer atInstanceBase (unsigned Offset) const
MemberPointer takeInstance (Pointer Instance) const
APValue toAPValue (const ASTContext &) const
bool isZero () const
bool hasBase () const
bool isWeak () const
void print (llvm::raw_ostream &OS) const
std::string toDiagnosticString (const ASTContext &Ctx) const
ComparisonCategoryResult compare (const MemberPointer &RHS) const

Detailed Description

Definition at line 22 of file MemberPointer.h.

Constructor & Destructor Documentation

◆ MemberPointer() [1/4]

clang::interp::MemberPointer::MemberPointer ( )
default

Referenced by atInstanceBase(), and takeInstance().

◆ MemberPointer() [2/4]

clang::interp::MemberPointer::MemberPointer ( Pointer Base,
const ValueDecl * Dcl )
inline

Definition at line 33 of file MemberPointer.h.

◆ MemberPointer() [3/4]

clang::interp::MemberPointer::MemberPointer ( uint32_t Address,
const Descriptor * D )
inline

Definition at line 34 of file MemberPointer.h.

◆ MemberPointer() [4/4]

clang::interp::MemberPointer::MemberPointer ( const ValueDecl * D)
inline

Definition at line 39 of file MemberPointer.h.

References clang::isa().

Member Function Documentation

◆ atInstanceBase()

MemberPointer clang::interp::MemberPointer::atInstanceBase ( unsigned Offset) const
inline

Definition at line 78 of file MemberPointer.h.

References MemberPointer().

◆ compare()

ComparisonCategoryResult clang::interp::MemberPointer::compare ( const MemberPointer & RHS) const
inline

Definition at line 108 of file MemberPointer.h.

References clang::Equal, and clang::Unordered.

Referenced by clang::interp::CmpHelperEQ< MemberPointer >().

◆ getBase()

Pointer clang::interp::MemberPointer::getBase ( ) const
inline

◆ getDecl()

const ValueDecl * clang::interp::MemberPointer::getDecl ( ) const
inline

Definition at line 76 of file MemberPointer.h.

Referenced by toAPValue().

◆ getField()

const FieldDecl * clang::interp::MemberPointer::getField ( ) const
inline

Definition at line 71 of file MemberPointer.h.

◆ getIntegerRepresentation()

uint64_t clang::interp::MemberPointer::getIntegerRepresentation ( ) const
inline

Definition at line 43 of file MemberPointer.h.

◆ getMemberFunction()

const CXXMethodDecl * clang::interp::MemberPointer::getMemberFunction ( ) const
inline

Definition at line 68 of file MemberPointer.h.

Referenced by isWeak().

◆ hasBase()

bool clang::interp::MemberPointer::hasBase ( ) const
inline

Definition at line 92 of file MemberPointer.h.

Referenced by toAPValue().

◆ hasDecl()

bool clang::interp::MemberPointer::hasDecl ( ) const
inline

Definition at line 75 of file MemberPointer.h.

◆ isBaseCastPossible()

bool clang::interp::MemberPointer::isBaseCastPossible ( ) const
inline

Definition at line 54 of file MemberPointer.h.

◆ isMemberFunctionPointer()

bool clang::interp::MemberPointer::isMemberFunctionPointer ( ) const
inline

Definition at line 65 of file MemberPointer.h.

◆ isWeak()

bool clang::interp::MemberPointer::isWeak ( ) const
inline

Definition at line 93 of file MemberPointer.h.

References getMemberFunction().

◆ isZero()

bool clang::interp::MemberPointer::isZero ( ) const
inline

Definition at line 91 of file MemberPointer.h.

Referenced by clang::interp::CmpHelperEQ< MemberPointer >(), and toAPValue().

◆ print()

void clang::interp::MemberPointer::print ( llvm::raw_ostream & OS) const
inline

Definition at line 99 of file MemberPointer.h.

Referenced by clang::interp::operator<<().

◆ takeInstance()

MemberPointer clang::interp::MemberPointer::takeInstance ( Pointer Instance) const
inline

Definition at line 84 of file MemberPointer.h.

References clang::interp::Pointer::isZero(), and MemberPointer().

◆ toAPValue()

APValue clang::interp::MemberPointer::toAPValue ( const ASTContext & ASTCtx) const

Definition at line 74 of file MemberPointer.cpp.

References clang::APValue, getDecl(), hasBase(), and isZero().

Referenced by toDiagnosticString().

◆ toDiagnosticString()

std::string clang::interp::MemberPointer::toDiagnosticString ( const ASTContext & Ctx) const
inline

Definition at line 104 of file MemberPointer.h.

References clang::APValue::getAsString(), and toAPValue().

◆ toFunctionPointer()

FunctionPointer clang::interp::MemberPointer::toFunctionPointer ( const Context & Ctx) const

◆ toPointer()


The documentation for this class was generated from the following files: