#include "Program.h"
#include "Context.h"
#include "Function.h"
#include "Integral.h"
#include "Opcode.h"
#include "PrimType.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
usingnamespaceclang;
usingnamespaceclang::interp;
unsigned Program::getOrCreateNativePointer(const void *Ptr) { … }
const void *Program::getNativePointer(unsigned Idx) { … }
unsigned Program::createGlobalString(const StringLiteral *S, const Expr *Base) { … }
Pointer Program::getPtrGlobal(unsigned Idx) const { … }
std::optional<unsigned> Program::getGlobal(const ValueDecl *VD) { … }
std::optional<unsigned> Program::getGlobal(const Expr *E) { … }
std::optional<unsigned> Program::getOrCreateGlobal(const ValueDecl *VD,
const Expr *Init) { … }
std::optional<unsigned> Program::getOrCreateDummy(const DeclTy &D) { … }
std::optional<unsigned> Program::createGlobal(const ValueDecl *VD,
const Expr *Init) { … }
std::optional<unsigned> Program::createGlobal(const Expr *E) { … }
std::optional<unsigned> Program::createGlobal(const DeclTy &D, QualType Ty,
bool IsStatic, bool IsExtern,
bool IsWeak, const Expr *Init) { … }
Function *Program::getFunction(const FunctionDecl *F) { … }
Record *Program::getOrCreateRecord(const RecordDecl *RD) { … }
Descriptor *Program::createDescriptor(const DeclTy &D, const Type *Ty,
Descriptor::MetadataSize MDSize,
bool IsConst, bool IsTemporary,
bool IsMutable, const Expr *Init) { … }