class CGBlockInfo::Capture

Declaration

class CGBlockInfo::Capture { /* full declaration omitted */ };

Declared at: clang/lib/CodeGen/CGBlocks.h:164

Member Variables

private uintptr_t Data
private EHScopeStack::stable_iterator Cleanup
private CharUnits::QuantityType Offset
private clang::QualType FieldType
Type of the capture field. Normally, this is identical to the type of the capture's VarDecl, but can be different if there is an enclosing lambda.
public clang::CodeGen::BlockCaptureEntityKind CopyKind = BlockCaptureEntityKind::None
public clang::CodeGen::BlockCaptureEntityKind DisposeKind = BlockCaptureEntityKind::None
public clang::CodeGen::BlockFieldFlags CopyFlags
public clang::CodeGen::BlockFieldFlags DisposeFlags
public const BlockDecl::Capture* Cap

Method Overview

  • public clang::QualType fieldType() const
  • public EHScopeStack::stable_iterator getCleanup() const
  • public llvm::Value * getConstant() const
  • public unsigned int getIndex() const
  • public clang::CharUnits getOffset() const
  • public bool isConstant() const
  • public bool isConstantOrTrivial() const
  • public bool isIndex() const
  • public static clang::CodeGen::CGBlockInfo::Capture makeConstant(llvm::Value * value, const BlockDecl::Capture * Cap)
  • public static clang::CodeGen::CGBlockInfo::Capture makeIndex(unsigned int index, clang::CharUnits offset, clang::QualType FieldType, clang::CodeGen::BlockCaptureEntityKind CopyKind, clang::CodeGen::BlockFieldFlags CopyFlags, clang::CodeGen::BlockCaptureEntityKind DisposeKind, clang::CodeGen::BlockFieldFlags DisposeFlags, const BlockDecl::Capture * Cap)
  • public void setCleanup(EHScopeStack::stable_iterator cleanup)

Methods

clang::QualType fieldType() const

Declared at: clang/lib/CodeGen/CGBlocks.h:200

EHScopeStack::stable_iterator getCleanup() const

Declared at: clang/lib/CodeGen/CGBlocks.h:186

llvm::Value* getConstant() const

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

unsigned int getIndex() const

Declared at: clang/lib/CodeGen/CGBlocks.h:178

clang::CharUnits getOffset() const

Declared at: clang/lib/CodeGen/CGBlocks.h:182

bool isConstant() const

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

bool isConstantOrTrivial() const

Declared at: clang/lib/CodeGen/CGBlocks.h:229

bool isIndex() const

Declared at: clang/lib/CodeGen/CGBlocks.h:175

static clang::CodeGen::CGBlockInfo::Capture
makeConstant(llvm::Value* value,
             const BlockDecl::Capture* Cap)

Declared at: clang/lib/CodeGen/CGBlocks.h:221

Parameters

llvm::Value* value
const BlockDecl::Capture* Cap

static clang::CodeGen::CGBlockInfo::Capture
makeIndex(
    unsigned int index,
    clang::CharUnits offset,
    clang::QualType FieldType,
    clang::CodeGen::BlockCaptureEntityKind
        CopyKind,
    clang::CodeGen::BlockFieldFlags CopyFlags,
    clang::CodeGen::BlockCaptureEntityKind
        DisposeKind,
    clang::CodeGen::BlockFieldFlags DisposeFlags,
    const BlockDecl::Capture* Cap)

Declared at: clang/lib/CodeGen/CGBlocks.h:205

Parameters

unsigned int index
clang::CharUnits offset
clang::QualType FieldType
clang::CodeGen::BlockCaptureEntityKind CopyKind
clang::CodeGen::BlockFieldFlags CopyFlags
clang::CodeGen::BlockCaptureEntityKind DisposeKind
clang::CodeGen::BlockFieldFlags DisposeFlags
const BlockDecl::Capture* Cap

void setCleanup(
    EHScopeStack::stable_iterator cleanup)

Declared at: clang/lib/CodeGen/CGBlocks.h:190

Parameters

EHScopeStack::stable_iterator cleanup