clang 20.0.0git
|
Generic scope for local variables. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Compiler.h"
Public Member Functions | |
LocalScope (Compiler< Emitter > *Ctx) | |
LocalScope (Compiler< Emitter > *Ctx, const ValueDecl *VD) | |
~LocalScope () override | |
Emit a Destroy op for this scope. | |
void | emitDestruction () override |
Overriden to support explicit destruction. | |
bool | destroyLocals (const Expr *E=nullptr) override |
Explicit destruction of local variables. | |
void | addLocal (const Scope::Local &Local) override |
bool | emitDestructors (const Expr *E=nullptr) override |
void | removeStoredOpaqueValues () |
void | removeIfStoredOpaqueValue (const Scope::Local &Local) |
Public Member Functions inherited from clang::interp::VariableScope< Emitter > | |
VariableScope (Compiler< Emitter > *Ctx, const ValueDecl *VD) | |
virtual | ~VariableScope () |
void | add (const Scope::Local &Local, bool IsExtended) |
virtual void | addLocal (const Scope::Local &Local) |
virtual void | addExtended (const Scope::Local &Local) |
void | addExtended (const Scope::Local &Local, const ValueDecl *ExtendingDecl) |
virtual void | emitDestruction () |
virtual bool | emitDestructors (const Expr *E=nullptr) |
virtual bool | destroyLocals (const Expr *E=nullptr) |
VariableScope * | getParent () const |
Public Attributes | |
std::optional< unsigned > | Idx |
Index of the scope in the chain. | |
Additional Inherited Members | |
Protected Attributes inherited from clang::interp::VariableScope< Emitter > | |
Compiler< Emitter > * | Ctx |
Compiler instance. | |
VariableScope * | Parent |
Link to the parent scope. | |
const ValueDecl * | ValDecl = nullptr |
Generic scope for local variables.
Definition at line 496 of file Compiler.h.
|
inline |
Definition at line 498 of file Compiler.h.
|
inline |
Definition at line 499 of file Compiler.h.
|
inlineoverride |
Emit a Destroy op for this scope.
Definition at line 503 of file Compiler.h.
|
inlineoverridevirtual |
Reimplemented from clang::interp::VariableScope< Emitter >.
Definition at line 530 of file Compiler.h.
Referenced by clang::interp::DeclScope< Emitter >::addExtended().
|
inlineoverridevirtual |
Explicit destruction of local variables.
Reimplemented from clang::interp::VariableScope< Emitter >.
Definition at line 520 of file Compiler.h.
References E, and clang::Success.
Referenced by clang::interp::Compiler< Emitter >::VisitArrayInitLoopExpr(), clang::interp::Compiler< Emitter >::visitDeclAndReturn(), clang::interp::Compiler< Emitter >::visitDoStmt(), clang::interp::Compiler< Emitter >::visitExpr(), clang::interp::Compiler< Emitter >::VisitExprWithCleanups(), clang::interp::Compiler< Emitter >::visitForStmt(), clang::interp::Compiler< Emitter >::VisitStmtExpr(), clang::interp::Compiler< Emitter >::visitSwitchStmt(), and clang::interp::Compiler< Emitter >::visitWhileStmt().
|
inlineoverridevirtual |
Overriden to support explicit destruction.
Reimplemented from clang::interp::VariableScope< Emitter >.
Definition at line 511 of file Compiler.h.
|
inlineoverridevirtual |
Reimplemented from clang::interp::VariableScope< Emitter >.
Definition at line 540 of file Compiler.h.
References E.
|
inline |
Definition at line 570 of file Compiler.h.
|
inline |
Definition at line 561 of file Compiler.h.
std::optional<unsigned> clang::interp::LocalScope< Emitter >::Idx |
Index of the scope in the chain.
Definition at line 580 of file Compiler.h.