clang API Documentation
#include <AttributeList.h>
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. |
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.
clang::ParsedAttributes::ParsedAttributes | ( | AttributeFactory & | factory | ) | [inline] |
Definition at line 669 of file AttributeList.h.
void clang::ParsedAttributes::add | ( | AttributeList * | newAttr | ) | [inline] |
Definition at line 679 of file AttributeList.h.
References clang::AttributeList::getNext(), and clang::AttributeList::setNext().
Referenced by takeDeclAttributes().
void clang::ParsedAttributes::addAll | ( | AttributeList * | newList | ) | [inline] |
Definition at line 686 of file AttributeList.h.
References clang::AttributeList::getNext(), and clang::AttributeList::setNext().
Referenced by clang::DeclSpec::addAttributes().
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().
bool clang::ParsedAttributes::empty | ( | ) | const [inline] |
Definition at line 677 of file AttributeList.h.
Referenced by clang::Sema::ActOnBaseSpecifier(), clang::DeclSpec::hasAttributes(), and clang::Sema::ParsedFreeStandingDeclSpec().
AttributeList* clang::ParsedAttributes::getList | ( | ) | const [inline] |
Definition at line 708 of file AttributeList.h.
Referenced by clang::Sema::ActOnBaseSpecifier(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFinishDelayedAttribute(), clang::Declarator::AddTypeInfo(), clang::Sema::checkUnusedDeclAttributes(), clang::Declarator::getAttributes(), clang::Declarator::getCXX11AttributeRanges(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), hasParsedAttr(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::Parser::ParseTypeName(), clang::Sema::ProcessDeclAttributes(), and takeDeclAttributes().
AttributeList*& clang::ParsedAttributes::getListRef | ( | ) | [inline] |
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().
AttributePool& clang::ParsedAttributes::getPool | ( | ) | const [inline] |
Definition at line 675 of file AttributeList.h.
Referenced by clang::Sema::ActOnCXXForRangeIdentifier(), clang::Declarator::AddTypeInfo(), clang::DeclSpec::getAttributePool(), clang::Declarator::getAttributePool(), and takeDeclAttributes().
void clang::ParsedAttributes::set | ( | AttributeList * | newList | ) | [inline] |
Definition at line 697 of file AttributeList.h.
void clang::ParsedAttributes::takeAllFrom | ( | ParsedAttributes & | attrs | ) | [inline] |
Definition at line 701 of file AttributeList.h.
Referenced by clang::Declarator::takeAttributes(), and clang::DeclSpec::takeAttributesFrom().