class EHCatchScope

Declaration

class EHCatchScope : public EHScope { /* full declaration omitted */ };

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.

Declared at: clang/lib/CodeGen/CGCleanup.h:146

Inherits from: EHScope

Member Variables

Inherited from EHScope:

protected

Method Overview

  • public EHCatchScope(unsigned int numHandlers, EHScopeStack::stable_iterator enclosingEHScope)
  • public clang::CodeGen::EHCatchScope::iterator begin() const
  • public static bool classof(const clang::CodeGen::EHScope * Scope)
  • public void clearHandlerBlocks()
  • public clang::CodeGen::EHCatchScope::iterator end() const
  • public const clang::CodeGen::EHCatchScope::Handler & getHandler(unsigned int I) const
  • private clang::CodeGen::EHCatchScope::Handler * getHandlers()
  • private const clang::CodeGen::EHCatchScope::Handler * getHandlers() const
  • public unsigned int getNumHandlers() const
  • public static size_t getSizeForNumHandlers(unsigned int N)
  • public void setCatchAllHandler(unsigned int I, llvm::BasicBlock * Block)
  • public void setHandler(unsigned int I, llvm::Constant * Type, llvm::BasicBlock * Block)
  • public void setHandler(unsigned int I, clang::CodeGen::CatchTypeInfo Type, llvm::BasicBlock * Block)

Inherited from EHScope:

Methods

EHCatchScope(unsigned int numHandlers,
             EHScopeStack::stable_iterator
                 enclosingEHScope)

Declared at: clang/lib/CodeGen/CGCleanup.h:180

Parameters

unsigned int numHandlers
EHScopeStack::stable_iterator enclosingEHScope

clang::CodeGen::EHCatchScope::iterator begin()
    const

Declared at: clang/lib/CodeGen/CGCleanup.h:222

static bool classof(
    const clang::CodeGen::EHScope* Scope)

Declared at: clang/lib/CodeGen/CGCleanup.h:225

Parameters

const clang::CodeGen::EHScope* Scope

void clearHandlerBlocks()

Declared at: clang/lib/CodeGen/CGCleanup.h:216

clang::CodeGen::EHCatchScope::iterator end() const

Declared at: clang/lib/CodeGen/CGCleanup.h:223

const clang::CodeGen::EHCatchScope::Handler&
getHandler(unsigned int I) const

Declared at: clang/lib/CodeGen/CGCleanup.h:207

Parameters

unsigned int I

clang::CodeGen::EHCatchScope::Handler*
getHandlers()

Declared at: clang/lib/CodeGen/CGCleanup.h:167

const clang::CodeGen::EHCatchScope::Handler*
getHandlers() const

Declared at: clang/lib/CodeGen/CGCleanup.h:171

unsigned int getNumHandlers() const

Declared at: clang/lib/CodeGen/CGCleanup.h:187

static size_t getSizeForNumHandlers(
    unsigned int N)

Declared at: clang/lib/CodeGen/CGCleanup.h:176

Parameters

unsigned int N

void setCatchAllHandler(unsigned int I,
                        llvm::BasicBlock* Block)

Declared at: clang/lib/CodeGen/CGCleanup.h:191

Parameters

unsigned int I
llvm::BasicBlock* Block

void setHandler(unsigned int I,
                llvm::Constant* Type,
                llvm::BasicBlock* Block)

Declared at: clang/lib/CodeGen/CGCleanup.h:195

Parameters

unsigned int I
llvm::Constant* Type
llvm::BasicBlock* Block

void setHandler(
    unsigned int I,
    clang::CodeGen::CatchTypeInfo Type,
    llvm::BasicBlock* Block)

Declared at: clang/lib/CodeGen/CGCleanup.h:201

Parameters

unsigned int I
clang::CodeGen::CatchTypeInfo Type
llvm::BasicBlock* Block