clang 8.0.0

Public Member Functions | Friends | List of all members
clang::AttributePool Class Reference

`#include "clang/Sema/ParsedAttr.h"`

## Public Member Functions
| AttributePool (AttributeFactory &factory)
| Create a new pool for a factory. More...
| AttributePool (const AttributePool &)=delete
| ~AttributePool ()
| AttributePool (AttributePool &&pool)=default
| Move the given pool's allocations to this pool. More...
AttributeFactory & | getFactory () const
void | clear ()
void | takeAllFrom (AttributePool &pool)
| Take the given pool's allocations and add them to this pool. More...
ParsedAttr * | create (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ArgsUnion *args, unsigned numArgs, ParsedAttr::Syntax syntax, SourceLocation ellipsisLoc=SourceLocation())
ParsedAttr * | create (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *Param, const AvailabilityChange &introduced, const AvailabilityChange &deprecated, const AvailabilityChange &obsoleted, SourceLocation unavailable, const Expr *MessageExpr, ParsedAttr::Syntax syntax, SourceLocation strict, const Expr *ReplacementExpr)
ParsedAttr * | create (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *Param1, IdentifierLoc *Param2, IdentifierLoc *Param3, ParsedAttr::Syntax syntax)
ParsedAttr * | createTypeTagForDatatype (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *argumentKind, ParsedType matchingCType, bool layoutCompatible, bool mustBeNull, ParsedAttr::Syntax syntax)
ParsedAttr * | createTypeAttribute (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ParsedType typeArg, ParsedAttr::Syntax syntaxUsed)
ParsedAttr * | createPropertyAttribute (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierInfo *getterId, IdentifierInfo *setterId, ParsedAttr::Syntax syntaxUsed)

## Friends
class | AttributeFactory

## Detailed Description

Definition at line 633 of file ParsedAttr.h.

## Constructor & Destructor Documentation

## ◆ AttributePool() [1/3]

clang::AttributePool::AttributePool | ( | AttributeFactory & | factory | ) |
| inline

Create a new pool for a factory.

Definition at line 657 of file ParsedAttr.h.

## ◆ AttributePool() [2/3]

clang::AttributePool::AttributePool | ( | const AttributePool & |  | ) |
| delete

## ◆ ~AttributePool()

clang::AttributePool::~AttributePool | ( |  | ) |
| inline

Definition at line 661 of file ParsedAttr.h.

## ◆ AttributePool() [3/3]

clang::AttributePool::AttributePool | ( | AttributePool && | pool | ) |
| default

Move the given pool's allocations to this pool.

## Member Function Documentation

## ◆ clear()

void clang::AttributePool::clear | ( |  | ) |
| inline

Definition at line 668 of file ParsedAttr.h.

## ◆ create() [1/3]

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

Definition at line 679 of file ParsedAttr.h.

Referenced by transferARCOwnershipToDeclaratorChunk().

## ◆ create() [2/3]

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

Definition at line 698 of file ParsedAttr.h.

References clang::AttributeFactory::AvailabilityAllocSize.

## ◆ create() [3/3]

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

Definition at line 712 of file ParsedAttr.h.

## ◆ createPropertyAttribute()

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

Definition at line 750 of file ParsedAttr.h.

References clang::AttributeFactory::PropertyAllocSize.

## ◆ createTypeAttribute()

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

Definition at line 736 of file ParsedAttr.h.

## ◆ createTypeTagForDatatype()

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

Definition at line 725 of file ParsedAttr.h.

References clang::AttributeFactory::TypeTagForDatatypeAllocSize.

## ◆ getFactory()

AttributeFactory& clang::AttributePool::getFactory | ( |  | ) | const
| inline

Definition at line 666 of file ParsedAttr.h.

## ◆ takeAllFrom()

void clang::AttributePool::takeAllFrom | ( | AttributePool & | pool | ) |
| inline

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

Definition at line 674 of file ParsedAttr.h.

Referenced by clang::DeclaratorChunk::getFunction(), and takeDeclAttributes().

## Friends And Related Function Documentation

## ◆ AttributeFactory

friend class AttributeFactory
| friend

Definition at line 634 of file ParsedAttr.h.

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

- include/clang/Sema/ParsedAttr.h
- lib/Sema/ParsedAttr.cpp