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

Scope for local variables. More...

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

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

Public Member Functions

 LocalScope (ByteCodeExprGen< Emitter > *Ctx)
 
 ~LocalScope () override
 
void addLocal (const Scope::Local &Local) override
 
void emitDestruction () override
 

Protected Attributes

Optional< unsignedIdx
 Index of the scope in the chain. More...
 

Detailed Description

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

Scope for local variables.

When the scope is destroyed, instructions are emitted to tear down all variables declared in this scope.

Definition at line 34 of file ByteCodeExprGen.h.

Constructor & Destructor Documentation

◆ LocalScope()

template<class Emitter >
clang::interp::LocalScope< Emitter >::LocalScope ( ByteCodeExprGen< Emitter > *  Ctx)
inline

Definition at line 284 of file ByteCodeExprGen.h.

◆ ~LocalScope()

template<class Emitter >
clang::interp::LocalScope< Emitter >::~LocalScope ( )
inlineoverride

Definition at line 286 of file ByteCodeExprGen.h.

Member Function Documentation

◆ addLocal()

template<class Emitter >
void clang::interp::LocalScope< Emitter >::addLocal ( const Scope::Local Local)
inlineoverride

Definition at line 288 of file ByteCodeExprGen.h.

◆ emitDestruction()

template<class Emitter >
void clang::interp::LocalScope< Emitter >::emitDestruction ( )
inlineoverride

Definition at line 297 of file ByteCodeExprGen.h.

Member Data Documentation

◆ Idx

template<class Emitter >
Optional<unsigned> clang::interp::LocalScope< Emitter >::Idx
protected

Index of the scope in the chain.

Definition at line 305 of file ByteCodeExprGen.h.


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