class AttributePool

Declaration

class AttributePool { /* full declaration omitted */ };

Declared at: clang/include/clang/Sema/ParsedAttr.h:781

Member Variables

private clang::AttributeFactory& Factory
private llvm::SmallVector<ParsedAttr*> Attrs

Method Overview

  • public AttributePool(clang::AttributeFactory & factory)
  • public AttributePool(const clang::AttributePool &)
  • public AttributePool(clang::AttributePool && pool)
  • private clang::ParsedAttr * add(clang::ParsedAttr * attr)
  • private void * allocate(size_t size)
  • public void clear()
  • public clang::ParsedAttr * create(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::IdentifierLoc * Param1, clang::IdentifierLoc * Param2, clang::IdentifierLoc * Param3, ParsedAttr::Syntax syntax)
  • public clang::ParsedAttr * create(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::IdentifierLoc * Param, const clang::AvailabilityChange & introduced, const clang::AvailabilityChange & deprecated, const clang::AvailabilityChange & obsoleted, clang::SourceLocation unavailable, const clang::Expr * MessageExpr, ParsedAttr::Syntax syntax, clang::SourceLocation strict, const clang::Expr * ReplacementExpr)
  • public clang::ParsedAttr * create(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::ArgsUnion * args, unsigned int numArgs, ParsedAttr::Syntax syntax, clang::SourceLocation ellipsisLoc = clang::SourceLocation())
  • public clang::ParsedAttr * createPropertyAttribute(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::IdentifierInfo * getterId, clang::IdentifierInfo * setterId, ParsedAttr::Syntax syntaxUsed)
  • public clang::ParsedAttr * createTypeAttribute(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::ParsedType typeArg, ParsedAttr::Syntax syntaxUsed)
  • public clang::ParsedAttr * createTypeTagForDatatype(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::IdentifierLoc * argumentKind, clang::ParsedType matchingCType, bool layoutCompatible, bool mustBeNull, ParsedAttr::Syntax syntax)
  • public clang::AttributeFactory & getFactory() const
  • private void remove(clang::ParsedAttr * attr)
  • public void takeAllFrom(clang::AttributePool & pool)
  • private void takePool(clang::AttributePool & pool)
  • public ~AttributePool()

Methods

AttributePool(clang::AttributeFactory& factory)

Description

Create a new pool for a factory.

Declared at: clang/include/clang/Sema/ParsedAttr.h:806

Parameters

clang::AttributeFactory& factory

AttributePool(const clang::AttributePool&)

Declared at: clang/include/clang/Sema/ParsedAttr.h:808

Parameters

const clang::AttributePool&

AttributePool(clang::AttributePool&& pool)

Description

Move the given pool's allocations to this pool.

Declared at: clang/include/clang/Sema/ParsedAttr.h:813

Parameters

clang::AttributePool&& pool

clang::ParsedAttr* add(clang::ParsedAttr* attr)

Declared at: clang/include/clang/Sema/ParsedAttr.h:791

Parameters

clang::ParsedAttr* attr

void* allocate(size_t size)

Declared at: clang/include/clang/Sema/ParsedAttr.h:787

Parameters

size_t size

void clear()

Declared at: clang/include/clang/Sema/ParsedAttr.h:817

clang::ParsedAttr* create(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::IdentifierLoc* Param1,
    clang::IdentifierLoc* Param2,
    clang::IdentifierLoc* Param3,
    ParsedAttr::Syntax syntax)

Declared at: clang/include/clang/Sema/ParsedAttr.h:861

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::IdentifierLoc* Param1
clang::IdentifierLoc* Param2
clang::IdentifierLoc* Param3
ParsedAttr::Syntax syntax

clang::ParsedAttr* create(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::IdentifierLoc* Param,
    const clang::AvailabilityChange& introduced,
    const clang::AvailabilityChange& deprecated,
    const clang::AvailabilityChange& obsoleted,
    clang::SourceLocation unavailable,
    const clang::Expr* MessageExpr,
    ParsedAttr::Syntax syntax,
    clang::SourceLocation strict,
    const clang::Expr* ReplacementExpr)

Declared at: clang/include/clang/Sema/ParsedAttr.h:847

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::IdentifierLoc* Param
const clang::AvailabilityChange& introduced
const clang::AvailabilityChange& deprecated
const clang::AvailabilityChange& obsoleted
clang::SourceLocation unavailable
const clang::Expr* MessageExpr
ParsedAttr::Syntax syntax
clang::SourceLocation strict
const clang::Expr* ReplacementExpr

clang::ParsedAttr* create(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::ArgsUnion* args,
    unsigned int numArgs,
    ParsedAttr::Syntax syntax,
    clang::SourceLocation ellipsisLoc =
        clang::SourceLocation())

Declared at: clang/include/clang/Sema/ParsedAttr.h:828

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::ArgsUnion* args
unsigned int numArgs
ParsedAttr::Syntax syntax
clang::SourceLocation ellipsisLoc = clang::SourceLocation()

clang::ParsedAttr* createPropertyAttribute(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::IdentifierInfo* getterId,
    clang::IdentifierInfo* setterId,
    ParsedAttr::Syntax syntaxUsed)

Declared at: clang/include/clang/Sema/ParsedAttr.h:899

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::IdentifierInfo* getterId
clang::IdentifierInfo* setterId
ParsedAttr::Syntax syntaxUsed

clang::ParsedAttr* createTypeAttribute(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::ParsedType typeArg,
    ParsedAttr::Syntax syntaxUsed)

Declared at: clang/include/clang/Sema/ParsedAttr.h:885

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::ParsedType typeArg
ParsedAttr::Syntax syntaxUsed

clang::ParsedAttr* createTypeTagForDatatype(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::IdentifierLoc* argumentKind,
    clang::ParsedType matchingCType,
    bool layoutCompatible,
    bool mustBeNull,
    ParsedAttr::Syntax syntax)

Declared at: clang/include/clang/Sema/ParsedAttr.h:874

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::IdentifierLoc* argumentKind
clang::ParsedType matchingCType
bool layoutCompatible
bool mustBeNull
ParsedAttr::Syntax syntax

clang::AttributeFactory& getFactory() const

Declared at: clang/include/clang/Sema/ParsedAttr.h:815

void remove(clang::ParsedAttr* attr)

Declared at: clang/include/clang/Sema/ParsedAttr.h:796

Parameters

clang::ParsedAttr* attr

void takeAllFrom(clang::AttributePool& pool)

Description

Take the given pool's allocations and add them to this pool.

Declared at: clang/include/clang/Sema/ParsedAttr.h:823

Parameters

clang::AttributePool& pool

void takePool(clang::AttributePool& pool)

Declared at: clang/include/clang/Sema/ParsedAttr.h:802

Parameters

clang::AttributePool& pool

~AttributePool()

Declared at: clang/include/clang/Sema/ParsedAttr.h:810