|
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, const ValueDecl *VD, ScopeKind Kind=ScopeKind::Block) | |
| virtual | ~VariableScope () |
| virtual void | addLocal (Scope::Local Local) |
| void | addExtended (const Scope::Local &Local, const ValueDecl *ExtendingDecl) |
| 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) |
| 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. | |
| const ValueDecl * | ValDecl = nullptr |
| ScopeKind | Kind |
Scope chain managing the variable lifetimes.
Definition at line 477 of file Compiler.h.
|
inline |
Definition at line 479 of file Compiler.h.
References clang::interp::Block, Ctx, Kind, LocalsAlwaysEnabled, Parent, and ValDecl.
Referenced by addExtended(), addForScopeKind(), getParent(), clang::interp::LocalScope< Emitter >::LocalScope(), and clang::interp::LocalScope< Emitter >::LocalScope().
|
inlinevirtual |
Definition at line 487 of file Compiler.h.
|
inline |
Definition at line 493 of file Compiler.h.
References addLocal(), Parent, ValDecl, and VariableScope().
|
inline |
Like addExtended, but adds to the nearest scope of the given kind.
Definition at line 515 of file Compiler.h.
References addLocal(), Kind, Parent, and VariableScope().
|
inlinevirtual |
Reimplemented in clang::interp::LocalScope< Emitter >.
Definition at line 489 of file Compiler.h.
Referenced by addExtended(), addForScopeKind(), and clang::interp::Compiler< Emitter >::allocateTemporary().
|
inlinevirtual |
Reimplemented in clang::interp::LocalScope< Emitter >.
Definition at line 531 of file Compiler.h.
|
inlinevirtual |
Reimplemented in clang::interp::LocalScope< Emitter >.
Definition at line 530 of file Compiler.h.
|
inline |
Definition at line 533 of file Compiler.h.
References Kind.
|
inline |
Definition at line 532 of file Compiler.h.
References Parent, and VariableScope().
Referenced by clang::interp::Compiler< Emitter >::allocateTemporary().
|
protected |
Compiler instance.
Definition at line 542 of file Compiler.h.
Referenced by clang::interp::DeclScope< Emitter >::DeclScope(), clang::interp::LocalScope< Emitter >::LocalScope(), clang::interp::LocalScope< Emitter >::LocalScope(), VariableScope(), clang::interp::DeclScope< Emitter >::~DeclScope(), and ~VariableScope().
|
protected |
Definition at line 546 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 538 of file Compiler.h.
Referenced by clang::interp::LocalScope< Emitter >::addLocal(), and VariableScope().
|
protected |
Link to the parent scope.
Definition at line 544 of file Compiler.h.
Referenced by addExtended(), addForScopeKind(), getParent(), VariableScope(), and ~VariableScope().
|
protected |
Definition at line 545 of file Compiler.h.
Referenced by addExtended(), and VariableScope().