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

#include "clang/Sema/AttributeList.h"

Public Member Functions

 AttributePool (AttributeFactory &factory)
 Create a new pool for a factory. More...
 
 AttributePool (const AttributePool &)=delete
 
 AttributePool (AttributePool &&pool)
 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...
 
 ~AttributePool ()
 
AttributeListcreate (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ArgsUnion *args, unsigned numArgs, AttributeList::Syntax syntax, SourceLocation ellipsisLoc=SourceLocation())
 
AttributeListcreate (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *Param, const AvailabilityChange &introduced, const AvailabilityChange &deprecated, const AvailabilityChange &obsoleted, SourceLocation unavailable, const Expr *MessageExpr, AttributeList::Syntax syntax, SourceLocation strict, const Expr *ReplacementExpr)
 
AttributeListcreate (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *Param1, IdentifierLoc *Param2, IdentifierLoc *Param3, AttributeList::Syntax syntax)
 
AttributeListcreateTypeTagForDatatype (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *argumentKind, ParsedType matchingCType, bool layoutCompatible, bool mustBeNull, AttributeList::Syntax syntax)
 
AttributeListcreateTypeAttribute (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ParsedType typeArg, AttributeList::Syntax syntaxUsed)
 
AttributeListcreatePropertyAttribute (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierInfo *getterId, IdentifierInfo *setterId, AttributeList::Syntax syntaxUsed)
 

Detailed Description

Definition at line 597 of file AttributeList.h.

Constructor & Destructor Documentation

◆ AttributePool() [1/3]

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

Create a new pool for a factory.

Definition at line 616 of file AttributeList.h.

◆ AttributePool() [2/3]

clang::AttributePool::AttributePool ( const AttributePool )
delete

◆ AttributePool() [3/3]

clang::AttributePool::AttributePool ( AttributePool &&  pool)
inline

Move the given pool's allocations to this pool.

Definition at line 621 of file AttributeList.h.

◆ ~AttributePool()

clang::AttributePool::~AttributePool ( )
inline

Definition at line 642 of file AttributeList.h.

Member Function Documentation

◆ clear()

void clang::AttributePool::clear ( )
inline

Definition at line 627 of file AttributeList.h.

◆ create() [1/3]

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

◆ create() [2/3]

AttributeList* 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,
AttributeList::Syntax  syntax,
SourceLocation  strict,
const Expr ReplacementExpr 
)
inline

Definition at line 659 of file AttributeList.h.

References clang::AttributeFactory::AvailabilityAllocSize.

◆ create() [3/3]

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

Definition at line 677 of file AttributeList.h.

◆ createPropertyAttribute()

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

Definition at line 715 of file AttributeList.h.

References clang::AttributeFactory::PropertyAllocSize.

◆ createTypeAttribute()

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

Definition at line 705 of file AttributeList.h.

◆ createTypeTagForDatatype()

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

◆ getFactory()

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

Definition at line 625 of file AttributeList.h.

◆ takeAllFrom()

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

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

Definition at line 635 of file AttributeList.h.

Referenced by takeDeclAttributes().


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