clang API Documentation
#include <CGCleanup.h>


Classes | |
| struct | Handler |
Public Types | |
| typedef const Handler * | iterator |
Public Member Functions | |
| EHCatchScope (unsigned numHandlers, EHScopeStack::stable_iterator enclosingEHScope) | |
| unsigned | getNumHandlers () const |
| void | setCatchAllHandler (unsigned I, llvm::BasicBlock *Block) |
| void | setHandler (unsigned I, llvm::Constant *Type, llvm::BasicBlock *Block) |
| const Handler & | getHandler (unsigned I) const |
| void | clearHandlerBlocks () |
| iterator | begin () const |
| iterator | end () const |
Static Public Member Functions | |
| static size_t | getSizeForNumHandlers (unsigned N) |
| static bool | classof (const EHScope *Scope) |
Friends | |
| class | EHScopeStack |
A scope which attempts to handle some, possibly all, types of exceptions.
Objective C @finally blocks are represented using a cleanup scope after the catch scope.
Definition at line 138 of file CGCleanup.h.
| typedef const Handler* clang::CodeGen::EHCatchScope::iterator |
Definition at line 206 of file CGCleanup.h.
| clang::CodeGen::EHCatchScope::EHCatchScope | ( | unsigned | numHandlers, |
| EHScopeStack::stable_iterator | enclosingEHScope | ||
| ) | [inline] |
Definition at line 172 of file CGCleanup.h.
References clang::CodeGen::EHScope::CatchBits.
Referenced by getSizeForNumHandlers().
| iterator clang::CodeGen::EHCatchScope::begin | ( | ) | const [inline] |
Definition at line 207 of file CGCleanup.h.
Referenced by clang::CodeGen::CodeGenFunction::ExitCXXTryStmt().
| static bool clang::CodeGen::EHCatchScope::classof | ( | const EHScope * | Scope | ) | [inline, static] |
Definition at line 210 of file CGCleanup.h.
References clang::CodeGen::EHScope::Catch, and clang::CodeGen::EHScope::getKind().
| void clang::CodeGen::EHCatchScope::clearHandlerBlocks | ( | ) | [inline] |
Definition at line 201 of file CGCleanup.h.
References clang::CodeGen::EHCatchScope::Handler::Block, getHandler(), and getNumHandlers().
Referenced by clang::CodeGen::CodeGenFunction::ExitCXXTryStmt().
| iterator clang::CodeGen::EHCatchScope::end | ( | ) | const [inline] |
Definition at line 208 of file CGCleanup.h.
References getNumHandlers().
| const Handler& clang::CodeGen::EHCatchScope::getHandler | ( | unsigned | I | ) | const [inline] |
Definition at line 192 of file CGCleanup.h.
References getNumHandlers().
Referenced by clearHandlerBlocks(), emitCatchDispatchBlock(), clang::CodeGen::CodeGenFunction::EmitLandingPad(), clang::CodeGen::CodeGenFunction::FinallyInfo::exit(), and clang::CodeGen::CodeGenFunction::getEHDispatchBlock().
| unsigned clang::CodeGen::EHCatchScope::getNumHandlers | ( | ) | const [inline] |
Definition at line 178 of file CGCleanup.h.
References clang::CodeGen::EHScope::CatchBits.
Referenced by clearHandlerBlocks(), emitCatchDispatchBlock(), clang::CodeGen::CodeGenFunction::EmitLandingPad(), end(), clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), getHandler(), clang::CodeGen::EHScopeStack::popCatch(), and setHandler().
| static size_t clang::CodeGen::EHCatchScope::getSizeForNumHandlers | ( | unsigned | N | ) | [inline, static] |
Definition at line 168 of file CGCleanup.h.
References EHCatchScope().
Referenced by clang::CodeGen::EHScopeStack::iterator::operator++(), clang::CodeGen::EHScopeStack::popCatch(), and clang::CodeGen::EHScopeStack::pushCatch().
| void clang::CodeGen::EHCatchScope::setCatchAllHandler | ( | unsigned | I, |
| llvm::BasicBlock * | Block | ||
| ) | [inline] |
Definition at line 182 of file CGCleanup.h.
References setHandler().
Referenced by clang::CodeGen::CodeGenFunction::FinallyInfo::enter(), and clang::CodeGen::CodeGenFunction::EnterCXXTryStmt().
| void clang::CodeGen::EHCatchScope::setHandler | ( | unsigned | I, |
| llvm::Constant * | Type, | ||
| llvm::BasicBlock * | Block | ||
| ) | [inline] |
Definition at line 186 of file CGCleanup.h.
References clang::CodeGen::EHCatchScope::Handler::Block, getNumHandlers(), and clang::CodeGen::EHCatchScope::Handler::Type.
Referenced by clang::CodeGen::CGObjCRuntime::EmitTryCatchStmt(), clang::CodeGen::CodeGenFunction::EnterCXXTryStmt(), and setCatchAllHandler().
friend class EHScopeStack [friend] |
Definition at line 157 of file CGCleanup.h.