#include "InterpFrame.h"
#include "Boolean.h"
#include "Floating.h"
#include "Function.h"
#include "InterpStack.h"
#include "InterpState.h"
#include "MemberPointer.h"
#include "Pointer.h"
#include "PrimType.h"
#include "Program.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/ExprCXX.h"
usingnamespaceclang;
usingnamespaceclang::interp;
InterpFrame::InterpFrame(InterpState &S, const Function *Func,
InterpFrame *Caller, CodePtr RetPC, unsigned ArgSize)
: … { … }
InterpFrame::InterpFrame(InterpState &S, const Function *Func, CodePtr RetPC,
unsigned VarArgSize)
: … { … }
InterpFrame::~InterpFrame() { … }
void InterpFrame::initScope(unsigned Idx) { … }
void InterpFrame::destroy(unsigned Idx) { … }
template <typename T>
static void print(llvm::raw_ostream &OS, const T &V, ASTContext &ASTCtx,
QualType Ty) { … }
static bool shouldSkipInBacktrace(const Function *F) { … }
void InterpFrame::describe(llvm::raw_ostream &OS) const { … }
Frame *InterpFrame::getCaller() const { … }
SourceRange InterpFrame::getCallRange() const { … }
const FunctionDecl *InterpFrame::getCallee() const { … }
Pointer InterpFrame::getLocalPointer(unsigned Offset) const { … }
Pointer InterpFrame::getParamPointer(unsigned Off) { … }
static bool funcHasUsableBody(const Function *F) { … }
SourceInfo InterpFrame::getSource(CodePtr PC) const { … }
const Expr *InterpFrame::getExpr(CodePtr PC) const { … }
SourceLocation InterpFrame::getLocation(CodePtr PC) const { … }
SourceRange InterpFrame::getRange(CodePtr PC) const { … }
bool InterpFrame::isStdFunction() const { … }