|
clang 22.0.0git
|
Scope chain managing the variable lifetimes. More...
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Compiler.h"
Public Member Functions | |
| VariableScope (Compiler< Emitter > *Ctx, ScopeKind Kind=ScopeKind::Block) | |
| virtual | ~VariableScope () |
| virtual void | addLocal (Scope::Local Local) |
| void | addForScopeKind (const Scope::Local &Local, ScopeKind Kind) |
| Like addExtended, but adds to the nearest scope of the given kind. | |
| virtual bool | emitDestructors (const Expr *E=nullptr) |
| virtual bool | destroyLocals (const Expr *E=nullptr) |
| virtual void | forceInit () |
| VariableScope * | getParent () const |
| ScopeKind | getKind () const |
Public Attributes | |
| bool | LocalsAlwaysEnabled = true |
| Whether locals added to this scope are enabled by default. | |
Protected Attributes | |
| Compiler< Emitter > * | Ctx |
| Compiler instance. | |
| VariableScope * | Parent |
| Link to the parent scope. | |
| ScopeKind | Kind |
Scope chain managing the variable lifetimes.
Definition at line 475 of file Compiler.h.
|
inline |
Definition at line 477 of file Compiler.h.
References clang::interp::Block, Ctx, Kind, LocalsAlwaysEnabled, and Parent.
Referenced by addForScopeKind(), getParent(), and clang::interp::LocalScope< Emitter >::LocalScope().
|
inlinevirtual |
Definition at line 484 of file Compiler.h.
|
inline |
Like addExtended, but adds to the nearest scope of the given kind.
Definition at line 490 of file Compiler.h.
References addLocal(), Kind, Parent, and VariableScope().
|
inlinevirtual |
Reimplemented in clang::interp::LocalScope< Emitter >.
Definition at line 486 of file Compiler.h.
Referenced by addForScopeKind(), and clang::interp::Compiler< Emitter >::allocateTemporary().
|
inlinevirtual |
Reimplemented in clang::interp::LocalScope< Emitter >.
Definition at line 507 of file Compiler.h.
|
inlinevirtual |
Reimplemented in clang::interp::LocalScope< Emitter >.
Definition at line 506 of file Compiler.h.
|
inlinevirtual |
Reimplemented in clang::interp::LocalScope< Emitter >.
Definition at line 508 of file Compiler.h.
|
inline |
Definition at line 510 of file Compiler.h.
References Kind.
|
inline |
Definition at line 509 of file Compiler.h.
References Parent, and VariableScope().
Referenced by clang::interp::Compiler< Emitter >::allocateTemporary().
|
protected |
Compiler instance.
Definition at line 519 of file Compiler.h.
Referenced by clang::interp::DeclScope< Emitter >::DeclScope(), clang::interp::LocalScope< Emitter >::LocalScope(), VariableScope(), clang::interp::DeclScope< Emitter >::~DeclScope(), and ~VariableScope().
|
protected |
Definition at line 522 of file Compiler.h.
Referenced by addForScopeKind(), getKind(), clang::interp::LocalScope< Emitter >::LocalScope(), and VariableScope().
| bool clang::interp::VariableScope< Emitter >::LocalsAlwaysEnabled = true |
Whether locals added to this scope are enabled by default.
This is almost always true, except for the two branches of a conditional operator.
Definition at line 515 of file Compiler.h.
Referenced by clang::interp::LocalScope< Emitter >::addLocal(), and VariableScope().
|
protected |
Link to the parent scope.
Definition at line 521 of file Compiler.h.
Referenced by addForScopeKind(), getParent(), VariableScope(), and ~VariableScope().