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

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

#include "/home/buildbot/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 Member Functions

 EHCatchScope (unsigned numHandlers)
unsigned getNumHandlers () const
void setHandler (unsigned i, CatchTypeInfo type, mlir::Region *region)
void clearHandlerBlocks ()
Public Member Functions inherited from clang::CIRGen::EHScope
 EHScope (Kind kind)
Kind getKind () const
bool mayThrow () const

Static Public Member Functions

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

Friends

class EHScopeStack

Additional Inherited Members

Public Types inherited from clang::CIRGen::EHScope
enum  Kind { Cleanup , Catch , Terminate , Filter }
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 100 of file CIRGenCleanup.h.

Constructor & Destructor Documentation

◆ EHCatchScope()

clang::CIRGen::EHCatchScope::EHCatchScope ( unsigned numHandlers)
inline

Member Function Documentation

◆ classof()

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

◆ clearHandlerBlocks()

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

Definition at line 142 of file CIRGenCleanup.h.

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

◆ getNumHandlers()

unsigned clang::CIRGen::EHCatchScope::getNumHandlers ( ) const
inline

◆ getSizeForNumHandlers()

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

Definition at line 121 of file CIRGenCleanup.h.

References EHCatchScope().

Referenced by clang::CIRGen::EHScopeStack::popCatch().

◆ setHandler()

void clang::CIRGen::EHCatchScope::setHandler ( unsigned i,
CatchTypeInfo type,
mlir::Region * region )
inline

◆ EHScopeStack

friend class EHScopeStack
friend

Definition at line 116 of file CIRGenCleanup.h.

References EHScopeStack.

Referenced by EHScopeStack.


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