clang 19.0.0git
Public Member Functions | List of all members
clang::interp::BlockScope< Emitter > Class Template Referencefinal

Scope for storage declared in a compound statement. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/Interp/Compiler.h"

Inheritance diagram for clang::interp::BlockScope< Emitter >:
Inheritance graph

Public Member Functions

 BlockScope (Compiler< Emitter > *Ctx)
void addExtended (const Scope::Local &Local) override
- Public Member Functions inherited from clang::interp::LocalScope< Emitter >
 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 ()
 Explicit destruction of local variables.
void addLocal (const Scope::Local &Local) override
bool emitDestructors () 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 ()
VariableScopegetParent () const

Additional Inherited Members

- Public Attributes inherited from clang::interp::LocalScope< Emitter >
std::optional< unsignedIdx
 Index of the scope in the chain.
- Protected Attributes inherited from clang::interp::VariableScope< Emitter >
Compiler< Emitter > * Ctx
 Compiler instance.
 Link to the parent scope.
const ValueDeclValDecl = nullptr

Detailed Description

template<class Emitter>
class clang::interp::BlockScope< Emitter >

Scope for storage declared in a compound statement.

Definition at line 554 of file Compiler.h.

Constructor & Destructor Documentation

◆ BlockScope()

template<class Emitter >
clang::interp::BlockScope< Emitter >::BlockScope ( Compiler< Emitter > *  Ctx)

Definition at line 556 of file Compiler.h.

Member Function Documentation

◆ addExtended()

template<class Emitter >
void clang::interp::BlockScope< Emitter >::addExtended ( const Scope::Local Local)

Reimplemented from clang::interp::VariableScope< Emitter >.

Definition at line 558 of file Compiler.h.

The documentation for this class was generated from the following file: