clang
10.0.0svn
|
Stack frame storing temporaries and parameters. More...
#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/AST/Interp/InterpStack.h"
Public Member Functions | |
InterpStack () | |
~InterpStack () | |
Destroys the stack, freeing up storage. More... | |
template<typename T , typename... Tys> | |
void | push (Tys &&... Args) |
Constructs a value in place on the top of the stack. More... | |
template<typename T > | |
T | pop () |
Returns the value from the top of the stack and removes it. More... | |
template<typename T > | |
void | discard () |
Discards the top value from the stack. More... | |
template<typename T > | |
T & | peek () |
Returns a reference to the value on the top of the stack. More... | |
void * | top () |
Returns a pointer to the top object. More... | |
size_t | size () const |
Returns the size of the stack in bytes. More... | |
void | clear () |
Clears the stack without calling any destructors. More... | |
Stack frame storing temporaries and parameters.
Definition at line 22 of file InterpStack.h.
|
inline |
Definition at line 24 of file InterpStack.h.
References ~InterpStack().
InterpStack::~InterpStack | ( | ) |
Destroys the stack, freeing up storage.
Definition at line 16 of file InterpStack.cpp.
References clear().
Referenced by InterpStack().
void InterpStack::clear | ( | ) |
Clears the stack without calling any destructors.
Definition at line 20 of file InterpStack.cpp.
Referenced by size(), and ~InterpStack().
|
inline |
Discards the top value from the stack.
Definition at line 44 of file InterpStack.h.
Referenced by clang::interp::InterpFrame::popArgs().
|
inline |
Returns a reference to the value on the top of the stack.
Definition at line 51 of file InterpStack.h.
Referenced by clang::interp::Dup(), clang::interp::GetField(), clang::interp::InitElem(), clang::interp::Load(), clang::interp::SetField(), size(), clang::interp::Store(), clang::interp::StoreBitField(), and top().
|
inline |
Returns the value from the top of the stack and removes it.
Definition at line 35 of file InterpStack.h.
Referenced by clang::interp::Add(), clang::interp::Cast(), clang::interp::CmpHelper(), clang::interp::ExpandPtr(), clang::interp::EvalEmitter::fallthrough(), clang::interp::GetFieldPop(), clang::interp::GetPtrActiveField(), clang::interp::GetPtrBase(), clang::interp::GetPtrField(), clang::interp::GetPtrVirtBase(), clang::interp::InitBitField(), clang::interp::InitElem(), clang::interp::InitElemPop(), clang::interp::InitField(), clang::interp::InitFieldActive(), clang::interp::InitGlobal(), clang::interp::InitPop(), clang::interp::InitThisBitField(), clang::interp::InitThisField(), clang::interp::InitThisFieldActive(), clang::interp::InRange(), clang::interp::EvalEmitter::jumpFalse(), clang::interp::EvalEmitter::jumpTrue(), clang::interp::LoadPop(), clang::interp::Mul(), clang::interp::NarrowPtr(), clang::interp::OffsetHelper(), clang::interp::Pop(), clang::interp::SetField(), clang::interp::SetLocal(), clang::interp::SetParam(), clang::interp::SetThisField(), clang::interp::Shl(), clang::interp::Shr(), clang::interp::Store(), clang::interp::StoreBitField(), clang::interp::StoreBitFieldPop(), clang::interp::StorePop(), and clang::interp::Sub().
|
inline |
Constructs a value in place on the top of the stack.
Definition at line 30 of file InterpStack.h.
Referenced by clang::interp::AddSubMulHelper(), clang::interp::Cast(), clang::interp::CmpHelper(), clang::interp::Const(), clang::interp::Dup(), clang::interp::ExpandPtr(), clang::interp::EvalEmitter::fallthrough(), clang::interp::GetField(), clang::interp::GetFieldPop(), clang::interp::GetGlobal(), clang::interp::GetLocal(), clang::interp::GetParam(), clang::interp::GetPtrActiveField(), clang::interp::GetPtrActiveThisField(), clang::interp::GetPtrBase(), clang::interp::GetPtrField(), clang::interp::GetPtrGlobal(), clang::interp::GetPtrLocal(), clang::interp::GetPtrParam(), clang::interp::GetPtrThisBase(), clang::interp::GetPtrThisField(), clang::interp::GetThisField(), clang::interp::InRange(), clang::interp::Load(), clang::interp::LoadPop(), clang::interp::NarrowPtr(), clang::interp::Null(), clang::interp::ShiftLeft(), clang::interp::ShiftRight(), clang::interp::This(), clang::interp::VirtBaseHelper(), and clang::interp::Zero().
|
inline |
Returns the size of the stack in bytes.
Definition at line 59 of file InterpStack.h.
|
inline |
Returns a pointer to the top object.
Definition at line 56 of file InterpStack.h.
References peek().