clang 20.0.0git
Public Member Functions | Protected Attributes | List of all members
clang::interp::VariableScope< Emitter > Class Template Reference

Scope chain managing the variable lifetimes. More...

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

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

Public Member Functions

 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
 

Protected Attributes

Compiler< Emitter > * Ctx
 Compiler instance.
 
VariableScopeParent
 Link to the parent scope.
 
const ValueDeclValDecl = nullptr
 

Detailed Description

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

Scope chain managing the variable lifetimes.

Definition at line 414 of file Compiler.h.

Constructor & Destructor Documentation

◆ VariableScope()

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

Definition at line 416 of file Compiler.h.

References clang::interp::Compiler< Emitter >::VarScope.

◆ ~VariableScope()

template<class Emitter >
virtual clang::interp::VariableScope< Emitter >::~VariableScope ( )
inlinevirtual

Definition at line 421 of file Compiler.h.

References Parent.

Member Function Documentation

◆ add()

template<class Emitter >
void clang::interp::VariableScope< Emitter >::add ( const Scope::Local Local,
bool  IsExtended 
)
inline

Definition at line 423 of file Compiler.h.

◆ addExtended() [1/2]

template<class Emitter >
virtual void clang::interp::VariableScope< Emitter >::addExtended ( const Scope::Local Local)
inlinevirtual

Reimplemented in clang::interp::DeclScope< Emitter >, and clang::interp::BlockScope< Emitter >.

Definition at line 435 of file Compiler.h.

References Parent.

◆ addExtended() [2/2]

template<class Emitter >
void clang::interp::VariableScope< Emitter >::addExtended ( const Scope::Local Local,
const ValueDecl ExtendingDecl 
)
inline

Definition at line 440 of file Compiler.h.

References P, and Parent.

◆ addLocal()

template<class Emitter >
virtual void clang::interp::VariableScope< Emitter >::addLocal ( const Scope::Local Local)
inlinevirtual

Reimplemented in clang::interp::LocalScope< Emitter >.

Definition at line 430 of file Compiler.h.

References Parent.

◆ destroyLocals()

template<class Emitter >
virtual bool clang::interp::VariableScope< Emitter >::destroyLocals ( const Expr E = nullptr)
inlinevirtual

Reimplemented in clang::interp::LocalScope< Emitter >.

Definition at line 463 of file Compiler.h.

◆ emitDestruction()

template<class Emitter >
virtual void clang::interp::VariableScope< Emitter >::emitDestruction ( )
inlinevirtual

Reimplemented in clang::interp::LocalScope< Emitter >.

Definition at line 461 of file Compiler.h.

◆ emitDestructors()

template<class Emitter >
virtual bool clang::interp::VariableScope< Emitter >::emitDestructors ( const Expr E = nullptr)
inlinevirtual

Reimplemented in clang::interp::LocalScope< Emitter >.

Definition at line 462 of file Compiler.h.

◆ getParent()

template<class Emitter >
VariableScope * clang::interp::VariableScope< Emitter >::getParent ( ) const
inline

Definition at line 464 of file Compiler.h.

References Parent.

Member Data Documentation

◆ Ctx

template<class Emitter >
Compiler<Emitter>* clang::interp::VariableScope< Emitter >::Ctx
protected

◆ Parent

template<class Emitter >
VariableScope* clang::interp::VariableScope< Emitter >::Parent
protected

Link to the parent scope.

Definition at line 470 of file Compiler.h.

◆ ValDecl

template<class Emitter >
const ValueDecl* clang::interp::VariableScope< Emitter >::ValDecl = nullptr
protected

Definition at line 471 of file Compiler.h.


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