LLVM  4.0.0
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::AttributeSetImpl Class Referencefinal

#include <AttributeImpl.h>

Inheritance diagram for llvm::AttributeSetImpl:
[legend]
Collaboration diagram for llvm::AttributeSetImpl:
[legend]

Public Types

typedef AttributeSetNode::iterator iterator
 

Public Member Functions

 AttributeSetImpl (LLVMContext &C, ArrayRef< std::pair< unsigned, AttributeSetNode * >> Slots)
 
 AttributeSetImpl (const AttributeSetImpl &)=delete
 
AttributeSetImploperator= (const AttributeSetImpl &)=delete
 
void operator delete (void *p)
 
LLVMContextgetContext ()
 Get the context that created this AttributeSetImpl. More...
 
unsigned getNumSlots () const
 Return the number of slots used in this attribute list. More...
 
unsigned getSlotIndex (unsigned Slot) const
 Get the index of the given "slot" in the AttrNodes list. More...
 
AttributeSet getSlotAttributes (unsigned Slot) const
 Retrieve the attributes for the given "slot" in the AttrNode list. More...
 
AttributeSetNodegetSlotNode (unsigned Slot) const
 Retrieve the attribute set node for the given "slot" in the AttrNode list. More...
 
bool hasFnAttribute (Attribute::AttrKind Kind) const
 Return true if the AttributeSetNode for the FunctionIndex has an enum attribute of the given kind. More...
 
iterator begin (unsigned Slot) const
 
iterator end (unsigned Slot) const
 
void Profile (FoldingSetNodeID &ID) const
 
void dump () const
 
- Public Member Functions inherited from llvm::FoldingSetImpl::Node
 Node ()
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 

Static Public Member Functions

static void Profile (FoldingSetNodeID &ID, ArrayRef< std::pair< unsigned, AttributeSetNode * >> Nodes)
 

Friends

class AttributeSet
 

Detailed Description

Definition at line 153 of file AttributeImpl.h.

Member Typedef Documentation

Definition at line 249 of file AttributeImpl.h.

Constructor & Destructor Documentation

llvm::AttributeSetImpl::AttributeSetImpl ( LLVMContext C,
ArrayRef< std::pair< unsigned, AttributeSetNode * >>  Slots 
)
inline
llvm::AttributeSetImpl::AttributeSetImpl ( const AttributeSetImpl )
delete

Member Function Documentation

iterator llvm::AttributeSetImpl::begin ( unsigned  Slot) const
inline
LLVM_DUMP_METHOD void AttributeSetImpl::dump ( void  ) const

Definition at line 584 of file Attributes.cpp.

References AttributeSet.

iterator llvm::AttributeSetImpl::end ( unsigned  Slot) const
inline
LLVMContext& llvm::AttributeSetImpl::getContext ( )
inline

Get the context that created this AttributeSetImpl.

Definition at line 215 of file AttributeImpl.h.

References Context.

unsigned llvm::AttributeSetImpl::getNumSlots ( ) const
inline

Return the number of slots used in this attribute list.

This is the number of arguments that have an attribute set on them (including the function itself).

Definition at line 220 of file AttributeImpl.h.

Referenced by llvm::AttributeSet::addAttributes(), llvm::AttrBuilder::AttrBuilder(), llvm::AttributeSet::get(), Profile(), and llvm::AttributeSet::removeAttributes().

AttributeSet llvm::AttributeSetImpl::getSlotAttributes ( unsigned  Slot) const
inline

Retrieve the attributes for the given "slot" in the AttrNode list.

Slot is an index into the AttrNodes list, not the index of the return / parameter/ function which the attributes apply to.

Definition at line 233 of file AttributeImpl.h.

References Context.

Referenced by llvm::AttributeSet::removeAttributes().

unsigned llvm::AttributeSetImpl::getSlotIndex ( unsigned  Slot) const
inline

Get the index of the given "slot" in the AttrNodes list.

This index is the index of the return, parameter, or function object that the attributes are applied to, not the index into the AttrNodes list where the attributes reside.

Definition at line 226 of file AttributeImpl.h.

Referenced by llvm::AttrBuilder::AttrBuilder().

AttributeSetNode* llvm::AttributeSetImpl::getSlotNode ( unsigned  Slot) const
inline

Retrieve the attribute set node for the given "slot" in the AttrNode list.

Definition at line 239 of file AttributeImpl.h.

Referenced by begin(), and end().

bool llvm::AttributeSetImpl::hasFnAttribute ( Attribute::AttrKind  Kind) const
inline

Return true if the AttributeSetNode for the FunctionIndex has an enum attribute of the given kind.

Definition at line 245 of file AttributeImpl.h.

References Kind.

void llvm::AttributeSetImpl::operator delete ( void *  p)
inline

Definition at line 212 of file AttributeImpl.h.

AttributeSetImpl& llvm::AttributeSetImpl::operator= ( const AttributeSetImpl )
delete
void llvm::AttributeSetImpl::Profile ( FoldingSetNodeID ID) const
inline

Definition at line 253 of file AttributeImpl.h.

References getNumSlots(), and llvm::makeArrayRef().

static void llvm::AttributeSetImpl::Profile ( FoldingSetNodeID ID,
ArrayRef< std::pair< unsigned, AttributeSetNode * >>  Nodes 
)
inlinestatic

Friends And Related Function Documentation

friend class AttributeSet
friend

Definition at line 156 of file AttributeImpl.h.

Referenced by dump().


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