clang API Documentation

Public Member Functions
clang::ParsedAttributes Class Reference

#include <AttributeList.h>

Inheritance diagram for clang::ParsedAttributes:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ParsedAttributes (AttributeFactory &factory)
 ParsedAttributes (const ParsedAttributes &) LLVM_DELETED_FUNCTION
AttributePool & getPool () const
bool empty () const
void add (AttributeList *newAttr)
void addAll (AttributeList *newList)
void set (AttributeList *newList)
void takeAllFrom (ParsedAttributes &attrs)
void clear ()
AttributeList * getList () const
AttributeList *& getListRef ()
AttributeList * addNew (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ArgsUnion *args, unsigned numArgs, AttributeList::Syntax syntax, SourceLocation ellipsisLoc=SourceLocation())
 Add attribute with expression arguments.
AttributeList * addNew (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)
 Add availability attribute.
AttributeList * addNew (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *Param1, IdentifierLoc *Param2, IdentifierLoc *Param3, AttributeList::Syntax syntax)
 Add objc_bridge_related attribute.
AttributeList * addNewTypeTagForDatatype (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierLoc *argumentKind, ParsedType matchingCType, bool layoutCompatible, bool mustBeNull, AttributeList::Syntax syntax)
 Add type_tag_for_datatype attribute.
AttributeList * addNewTypeAttr (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, ParsedType typeArg, AttributeList::Syntax syntaxUsed)
 Add an attribute with a single type argument.
AttributeList * addNewPropertyAttr (IdentifierInfo *attrName, SourceRange attrRange, IdentifierInfo *scopeName, SourceLocation scopeLoc, IdentifierInfo *getterId, IdentifierInfo *setterId, AttributeList::Syntax syntaxUsed)
 Add microsoft __delspec(property) attribute.

Detailed Description

ParsedAttributes - A collection of parsed attributes. Currently we don't differentiate between the various attribute syntaxes, which is basically silly.

Right now this is a very lightweight container, but the expectation is that this will become significantly more serious.

Definition at line 667 of file AttributeList.h.


Constructor & Destructor Documentation

Definition at line 669 of file AttributeList.h.


Member Function Documentation

void clang::ParsedAttributes::add ( AttributeList *  newAttr) [inline]
void clang::ParsedAttributes::addAll ( AttributeList *  newList) [inline]
AttributeList* clang::ParsedAttributes::addNew ( IdentifierInfo *  attrName,
SourceRange  attrRange,
IdentifierInfo *  scopeName,
SourceLocation  scopeLoc,
ArgsUnion *  args,
unsigned  numArgs,
AttributeList::Syntax  syntax,
SourceLocation  ellipsisLoc = SourceLocation() 
) [inline]

Add attribute with expression arguments.

Definition at line 715 of file AttributeList.h.

AttributeList* clang::ParsedAttributes::addNew ( 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 
) [inline]

Add availability attribute.

Definition at line 728 of file AttributeList.h.

AttributeList* clang::ParsedAttributes::addNew ( IdentifierInfo *  attrName,
SourceRange  attrRange,
IdentifierInfo *  scopeName,
SourceLocation  scopeLoc,
IdentifierLoc *  Param1,
IdentifierLoc *  Param2,
IdentifierLoc *  Param3,
AttributeList::Syntax  syntax 
) [inline]

Add objc_bridge_related attribute.

Definition at line 745 of file AttributeList.h.

AttributeList* clang::ParsedAttributes::addNewPropertyAttr ( IdentifierInfo *  attrName,
SourceRange  attrRange,
IdentifierInfo *  scopeName,
SourceLocation  scopeLoc,
IdentifierInfo *  getterId,
IdentifierInfo *  setterId,
AttributeList::Syntax  syntaxUsed 
) [inline]

Add microsoft __delspec(property) attribute.

Definition at line 788 of file AttributeList.h.

AttributeList* clang::ParsedAttributes::addNewTypeAttr ( IdentifierInfo *  attrName,
SourceRange  attrRange,
IdentifierInfo *  scopeName,
SourceLocation  scopeLoc,
ParsedType  typeArg,
AttributeList::Syntax  syntaxUsed 
) [inline]

Add an attribute with a single type argument.

Definition at line 776 of file AttributeList.h.

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

Add type_tag_for_datatype attribute.

Definition at line 759 of file AttributeList.h.

void clang::ParsedAttributes::clear ( ) [inline]

Definition at line 707 of file AttributeList.h.

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

Returns a reference to the attribute list. Try not to introduce dependencies on this method, it may not be long-lived.

Definition at line 712 of file AttributeList.h.

Referenced by distributeObjCPointerTypeAttrFromDeclarator(), and clang::Declarator::getAttrListRef().

void clang::ParsedAttributes::set ( AttributeList *  newList) [inline]

Definition at line 697 of file AttributeList.h.


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