clang 22.0.0git
clang::CIRGen::EHCatchScope Class Reference

A scope which attempts to handle some, possibly all, types of exceptions. More...

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenCleanup.h"

Inheritance diagram for clang::CIRGen::EHCatchScope:
[legend]

Classes

struct  Handler

Public Types

using iterator = const Handler *
Public Types inherited from clang::CIRGen::EHScope
enum  Kind { Cleanup , Catch , Terminate , Filter }

Public Member Functions

 EHCatchScope (unsigned numHandlers, EHScopeStack::stable_iterator enclosingEHScope)
unsigned getNumHandlers () const
void setHandler (unsigned i, CatchTypeInfo type, mlir::Region *region, const CXXCatchStmt *stmt)
const HandlergetHandler (unsigned i) const
void clearHandlerBlocks ()
iterator begin () const
iterator end () const
Public Member Functions inherited from clang::CIRGen::EHScope
 EHScope (Kind kind, EHScopeStack::stable_iterator enclosingEHScope)
Kind getKind () const
bool mayThrow () const
void setMayThrow (bool mayThrow)
EHScopeStack::stable_iterator getEnclosingEHScope () const

Static Public Member Functions

static size_t getSizeForNumHandlers (unsigned n)
static bool classof (const EHScope *scope)

Friends

class EHScopeStack

Additional Inherited Members

Protected Attributes inherited from clang::CIRGen::EHScope
union { 
   CommonBitFields   commonBits 
   CatchBitFields   catchBits 
   CleanupBitFields   cleanupBits 
}; 

Detailed Description

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 114 of file CIRGenCleanup.h.

Member Typedef Documentation

◆ iterator

Definition at line 179 of file CIRGenCleanup.h.

Constructor & Destructor Documentation

◆ EHCatchScope()

clang::CIRGen::EHCatchScope::EHCatchScope ( unsigned numHandlers,
EHScopeStack::stable_iterator enclosingEHScope )
inline

Member Function Documentation

◆ begin()

iterator clang::CIRGen::EHCatchScope::begin ( ) const
inline

◆ classof()

bool clang::CIRGen::EHCatchScope::classof ( const EHScope * scope)
inlinestatic

◆ clearHandlerBlocks()

void clang::CIRGen::EHCatchScope::clearHandlerBlocks ( )
inline

Definition at line 175 of file CIRGenCleanup.h.

Referenced by clang::CIRGen::CIRGenFunction::exitCXXTryStmt().

◆ end()

iterator clang::CIRGen::EHCatchScope::end ( ) const
inline

Definition at line 181 of file CIRGenCleanup.h.

References getNumHandlers().

Referenced by clang::CIRGen::CIRGenFunction::populateCatchHandlers().

◆ getHandler()

const Handler & clang::CIRGen::EHCatchScope::getHandler ( unsigned i) const
inline

Definition at line 166 of file CIRGenCleanup.h.

References getNumHandlers().

Referenced by clang::CIRGen::CIRGenFunction::populateEHCatchRegions().

◆ getNumHandlers()

◆ getSizeForNumHandlers()

size_t clang::CIRGen::EHCatchScope::getSizeForNumHandlers ( unsigned n)
inlinestatic

◆ setHandler()

◆ EHScopeStack

friend class EHScopeStack
friend

Definition at line 135 of file CIRGenCleanup.h.

References EHScopeStack.

Referenced by EHScopeStack.


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