clang 19.0.0git
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.
 
 AttributePool (const AttributePool &)=delete
 
AttributePooloperator= (const AttributePool &)=delete
 
 ~AttributePool ()
 
 AttributePool (AttributePool &&pool)=default
 Move the given pool's allocations to this pool.
 
AttributePooloperator= (AttributePool &&pool)=delete
 
AttributeFactorygetFactory () const
 
void clear ()
 
void takeAllFrom (AttributePool &pool)
 Take the given pool's allocations and add them to this pool.
 
void takeFrom (ParsedAttributesView &List, AttributePool &Pool)
 Removes the attributes from List, which are owned by Pool, and adds them at the end of this AttributePool.
 
ParsedAttrcreate (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ArgsUnion *args, unsigned numArgs, ParsedAttr::Form form, 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::Form form, SourceLocation strict, const Expr *ReplacementExpr)
 
ParsedAttrcreate (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *Param1, IdentifierLoc *Param2, IdentifierLoc *Param3, ParsedAttr::Form form)
 
ParsedAttrcreateTypeTagForDatatype (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *argumentKind, ParsedType matchingCType, bool layoutCompatible, bool mustBeNull, ParsedAttr::Form form)
 
ParsedAttrcreateTypeAttribute (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ParsedType typeArg, ParsedAttr::Form formUsed, SourceLocation ellipsisLoc)
 
ParsedAttrcreatePropertyAttribute (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierInfo *getterId, IdentifierInfo *setterId, ParsedAttr::Form formUsed)
 

Friends

class AttributeFactory
 
class ParsedAttributes
 

Detailed Description

Definition at line 684 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 709 of file ParsedAttr.h.

◆ AttributePool() [2/3]

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

◆ ~AttributePool()

clang::AttributePool::~AttributePool ( )
inline

Definition at line 716 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 727 of file ParsedAttr.h.

◆ create() [1/3]

ParsedAttr * clang::AttributePool::create ( IdentifierInfo attrName,
SourceRange  attrRange,
IdentifierInfo scopeName,
SourceLocation  scopeLoc,
ArgsUnion args,
unsigned  numArgs,
ParsedAttr::Form  form,
SourceLocation  ellipsisLoc = SourceLocation() 
)
inline

Definition at line 742 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::Form  form,
SourceLocation  strict,
const Expr ReplacementExpr 
)
inline

Definition at line 760 of file ParsedAttr.h.

◆ create() [3/3]

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

Definition at line 774 of file ParsedAttr.h.

◆ createPropertyAttribute()

ParsedAttr * clang::AttributePool::createPropertyAttribute ( IdentifierInfo attrName,
SourceRange  attrRange,
IdentifierInfo scopeName,
SourceLocation  scopeLoc,
IdentifierInfo getterId,
IdentifierInfo setterId,
ParsedAttr::Form  formUsed 
)
inline

Definition at line 813 of file ParsedAttr.h.

◆ createTypeAttribute()

ParsedAttr * clang::AttributePool::createTypeAttribute ( IdentifierInfo attrName,
SourceRange  attrRange,
IdentifierInfo scopeName,
SourceLocation  scopeLoc,
ParsedType  typeArg,
ParsedAttr::Form  formUsed,
SourceLocation  ellipsisLoc 
)
inline

Definition at line 798 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::Form  form 
)
inline

Definition at line 787 of file ParsedAttr.h.

◆ getFactory()

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

Definition at line 725 of file ParsedAttr.h.

Referenced by clang::Sema::ActOnCXXForRangeIdentifier().

◆ operator=() [1/2]

AttributePool & clang::AttributePool::operator= ( AttributePool &&  pool)
delete

◆ operator=() [2/2]

AttributePool & clang::AttributePool::operator= ( const AttributePool )
delete

◆ takeAllFrom()

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

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

Definition at line 733 of file ParsedAttr.h.

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

◆ takeFrom()

void AttributePool::takeFrom ( ParsedAttributesView List,
AttributePool Pool 
)

Removes the attributes from List, which are owned by Pool, and adds them at the end of this AttributePool.

Definition at line 103 of file ParsedAttr.cpp.

Referenced by clang::Declarator::AddTypeInfo().

Friends And Related Function Documentation

◆ AttributeFactory

friend class AttributeFactory
friend

Definition at line 685 of file ParsedAttr.h.

◆ ParsedAttributes

friend class ParsedAttributes
friend

Definition at line 686 of file ParsedAttr.h.


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