clang 17.0.0git
|
Stack frame storing temporaries and parameters. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/Interp/InterpStack.h"
Public Member Functions | |
InterpStack () | |
~InterpStack () | |
Destroys the stack, freeing up storage. | |
template<typename T , typename... Tys> | |
void | push (Tys &&... Args) |
Constructs a value in place on the top of the stack. | |
template<typename T > | |
T | pop () |
Returns the value from the top of the stack and removes it. | |
template<typename T > | |
void | discard () |
Discards the top value from the stack. | |
template<typename T > | |
T & | peek () const |
Returns a reference to the value on the top of the stack. | |
void * | top () const |
Returns a pointer to the top object. | |
size_t | size () const |
Returns the size of the stack in bytes. | |
void | clear () |
Clears the stack without calling any destructors. | |
bool | empty () const |
Stack frame storing temporaries and parameters.
Definition at line 24 of file InterpStack.h.
|
inline |
Definition at line 26 of file InterpStack.h.
InterpStack::~InterpStack | ( | ) |
Destroys the stack, freeing up storage.
Definition at line 16 of file InterpStack.cpp.
References clear().
void InterpStack::clear | ( | ) |
Clears the stack without calling any destructors.
Definition at line 20 of file InterpStack.cpp.
Referenced by clang::interp::Context::evaluateAsInitializer(), clang::interp::Context::evaluateAsRValue(), and ~InterpStack().
|
inline |
Discards the top value from the stack.
Definition at line 54 of file InterpStack.h.
Referenced by clang::interp::InterpFrame::popArgs().
|
inline |
Definition at line 79 of file InterpStack.h.
Referenced by clang::interp::Context::evaluateAsInitializer(), clang::interp::Context::evaluateAsRValue(), and clang::interp::Context::isPotentialConstantExpr().
|
inline |
Returns a reference to the value on the top of the stack.
Definition at line 65 of file InterpStack.h.
References peek().
|
inline |
Returns the value from the top of the stack and removes it.
Definition at line 40 of file InterpStack.h.
Referenced by clang::interp::EvalEmitter::jumpFalse(), and clang::interp::EvalEmitter::jumpTrue().
|
inline |
Constructs a value in place on the top of the stack.
Definition at line 32 of file InterpStack.h.
|
inline |
Returns the size of the stack in bytes.
Definition at line 73 of file InterpStack.h.
|
inline |
Returns a pointer to the top object.
Definition at line 70 of file InterpStack.h.
References peek().