clang 20.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::interp::Pointer Class Reference

A pointer to a memory block, live or dead. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Pointer.h"

Public Member Functions

 Pointer ()
 
 Pointer (IntPointer &&IntPtr)
 
 Pointer (Block *B)
 
 Pointer (Block *B, uint64_t BaseAndOffset)
 
 Pointer (const Pointer &P)
 
 Pointer (Pointer &&P)
 
 Pointer (uint64_t Address, const Descriptor *Desc, uint64_t Offset=0)
 
 Pointer (const Function *F, uint64_t Offset=0)
 
 Pointer (const Type *TypePtr, const Type *TypeInfoType, uint64_t Offset=0)
 
 Pointer (Block *Pointee, unsigned Base, uint64_t Offset)
 
 ~Pointer ()
 
void operator= (const Pointer &P)
 
void operator= (Pointer &&P)
 
bool operator== (const Pointer &P) const
 Equality operators are just for tests.
 
bool operator!= (const Pointer &P) const
 
APValue toAPValue (const ASTContext &ASTCtx) const
 Converts the pointer to an APValue.
 
std::string toDiagnosticString (const ASTContext &Ctx) const
 Converts the pointer to a string usable in diagnostics.
 
uint64_t getIntegerRepresentation () const
 
std::optional< APValuetoRValue (const Context &Ctx, QualType ResultType) const
 Converts the pointer to an APValue that is an rvalue.
 
Pointer atIndex (uint64_t Idx) const
 Offsets a pointer inside an array.
 
Pointer atField (unsigned Off) const
 Creates a pointer to a field.
 
Pointer atFieldSub (unsigned Off) const
 Subtract the given offset from the current Base and Offset of the pointer.
 
Pointer narrow () const
 Restricts the scope of an array element pointer.
 
Pointer expand () const
 Expands a pointer to the containing array, undoing narrowing.
 
bool isZero () const
 Checks if the pointer is null.