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

Scope used to handle temporaries in toplevel variable declarations. More...

Inheritance diagram for clang::interp::DeclScope< Emitter >:
Inheritance graph
[legend]

Public Member Functions

 DeclScope (Compiler< Emitter > *Ctx, const ValueDecl *VD)
 
void addExtended (const Scope::Local &Local) override
 
 ~DeclScope ()
 
- 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 (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)
 
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.
 
VariableScopeParent
 Link to the parent scope.
 
const ValueDeclValDecl = nullptr
 

Detailed Description

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

Scope used to handle temporaries in toplevel variable declarations.

Definition at line 28 of file Compiler.cpp.

Constructor & Destructor Documentation

◆ DeclScope()

template<class Emitter >
clang::interp::DeclScope< Emitter >::DeclScope ( Compiler< Emitter > *  Ctx,
const ValueDecl VD 
)
inline

◆ ~DeclScope()

template<class Emitter >
clang::interp::DeclScope< Emitter >::~DeclScope ( )
inline

Definition at line 41 of file Compiler.cpp.

References clang::interp::VariableScope< Emitter >::Ctx.

Member Function Documentation

◆ addExtended()

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

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