clang  7.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 (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...
 
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 618 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 637 of file AttributeList.h.

◆ AttributePool() [2/3]

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

◆ ~AttributePool()

clang::AttributePool::~AttributePool ( )
inline

Definition at line 641 of file AttributeList.h.

◆ AttributePool() [3/3]

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

Move the given pool's allocations to this pool.

Definition at line 646 of file AttributeList.h.

Member Function Documentation

◆ clear()

void clang::AttributePool::clear ( )
inline

Definition at line 652 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 680 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 698 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 736 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 726 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 650 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 660 of file AttributeList.h.

Referenced by takeDeclAttributes().


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