clang
19.0.0git
|
Generic scope for local variables. More...
#include "/home/runner/work/llvm/llvm/repo/clang/lib/AST/Interp/ByteCodeExprGen.h"
Public Member Functions | |
LocalScope (ByteCodeExprGen< Emitter > *Ctx) | |
~LocalScope () override | |
Emit a Destroy op for this scope. More... | |
void | emitDestruction () override |
Overriden to support explicit destruction. More... | |
bool | destroyLocals () |
Explicit destruction of local variables. More... | |
void | addLocal (const Scope::Local &Local) override |
bool | emitDestructors () override |
void | removeStoredOpaqueValues () |
void | removeIfStoredOpaqueValue (const Scope::Local &Local) |
![]() | |
VariableScope (ByteCodeExprGen< Emitter > *Ctx, const ValueDecl *VD) | |
virtual | ~VariableScope () |
void | add (const Scope::Local &Local, bool IsExtended) |
virtual void | addExtended (const Scope::Local &Local) |
void | addExtended (const Scope::Local &Local, const ValueDecl *ExtendingDecl) |
VariableScope * | getParent () const |
Public Attributes | |
std::optional< unsigned > | Idx |
Index of the scope in the chain. More... | |
Additional Inherited Members | |
![]() | |
ByteCodeExprGen< Emitter > * | Ctx |
ByteCodeExprGen instance. More... | |
VariableScope * | Parent |
Link to the parent scope. More... | |
const ValueDecl * | ValDecl = nullptr |
Generic scope for local variables.
Definition at line 387 of file ByteCodeExprGen.h.
|
inline |
Definition at line 389 of file ByteCodeExprGen.h.
|
inlineoverride |
Emit a Destroy op for this scope.
Definition at line 393 of file ByteCodeExprGen.h.
|
inlineoverridevirtual |
Reimplemented from clang::interp::VariableScope< Emitter >.
Definition at line 415 of file ByteCodeExprGen.h.
|
inline |
Explicit destruction of local variables.
Definition at line 404 of file ByteCodeExprGen.h.
Referenced by clang::interp::ByteCodeExprGen< Emitter >::visitExpr(), and clang::interp::ByteCodeExprGen< Emitter >::VisitExprWithCleanups().
|
inlineoverridevirtual |
Overriden to support explicit destruction.
Reimplemented from clang::interp::VariableScope< Emitter >.
Definition at line 401 of file ByteCodeExprGen.h.
|
inlineoverridevirtual |
Reimplemented from clang::interp::VariableScope< Emitter >.
Definition at line 424 of file ByteCodeExprGen.h.
|
inline |
Definition at line 454 of file ByteCodeExprGen.h.
|
inline |
Definition at line 445 of file ByteCodeExprGen.h.
std::optional<unsigned> clang::interp::LocalScope< Emitter >::Idx |
Index of the scope in the chain.
Definition at line 464 of file ByteCodeExprGen.h.