clang  8.0.0svn
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...
 
AttributeFactorygetFactory () const
 
void clear ()
 
void takeAllFrom (AttributePool &pool)
 Take the given pool's allocations and add them to this pool. More...
 
ParsedAttrcreate (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ArgsUnion *args, unsigned numArgs, ParsedAttr::Syntax syntax, SourceLocation ellipsisLoc=SourceLocation())
 
ParsedAttrcreate (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)
 
ParsedAttrcreate (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *Param1, IdentifierLoc *Param2, IdentifierLoc *Param3, ParsedAttr::Syntax syntax)
 
ParsedAttrcreateTypeTagForDatatype (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *argumentKind, ParsedType matchingCType, bool layoutCompatible, bool mustBeNull, ParsedAttr::Syntax syntax)
 
ParsedAttrcreateTypeAttribute (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ParsedType typeArg, ParsedAttr::Syntax syntaxUsed)
 
ParsedAttrcreatePropertyAttribute (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

◆ 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 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: