clang
3.7.0
|
Attr - This represents one attribute. More...
#include <Attr.h>
Public Member Functions | |
void * | operator new (size_t Bytes, ASTContext &C, size_t Alignment=8) throw () |
void | operator delete (void *Ptr, ASTContext &C, size_t Alignment) throw () |
attr::Kind | getKind () const |
unsigned | getSpellingListIndex () const |
const char * | getSpelling () const |
SourceLocation | getLocation () const |
SourceRange | getRange () const |
void | setRange (SourceRange R) |
bool | isInherited () const |
bool | isImplicit () const |
Returns true if the attribute has been implicitly created instead of explicitly written by the user. More... | |
void | setImplicit (bool I) |
void | setPackExpansion (bool PE) |
bool | isPackExpansion () const |
Attr * | clone (ASTContext &C) const |
bool | isLateParsed () const |
void | printPretty (raw_ostream &OS, const PrintingPolicy &Policy) const |
bool | duplicatesAllowed () const |
By default, attributes cannot be duplicated when being merged; however, an attribute can override this. Returns true if the attribute can be duplicated when merging. More... | |
Protected Member Functions | |
void * | operator new (size_t bytes) throw () |
void | operator delete (void *data) throw () |
Attr (attr::Kind AK, SourceRange R, unsigned SpellingListIndex, bool IsLateParsed, bool DuplicatesAllowed) | |
Protected Attributes | |
unsigned | SpellingListIndex: 4 |
bool | Inherited: 1 |
bool | IsPackExpansion: 1 |
bool | Implicit: 1 |
bool | IsLateParsed: 1 |
bool | DuplicatesAllowed: 1 |
|
inlineprotected |
Attr* clang::Attr::clone | ( | ASTContext & | C | ) | const |
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::checkClassLevelDLLAttribute(), InjectAnonymousStructOrUnionMembers(), mergeDeclAttribute(), clang::Sema::propagateDLLAttrToBaseClassTemplate(), clang::ASTNodeImporter::VisitAttributedStmt(), and clang::ASTNodeImporter::VisitIndirectFieldDecl().
|
inline |
By default, attributes cannot be duplicated when being merged; however, an attribute can override this. Returns true if the attribute can be duplicated when merging.
Definition at line 118 of file Attr.h.
References DuplicatesAllowed.
Referenced by mergeDeclAttribute().
|
inline |
Definition at line 86 of file Attr.h.
Referenced by clang::Sema::ActOnBaseSpecifier(), clang::ast_matchers::AST_MATCHER_P(), clang::Sema::checkClassLevelDLLAttribute(), checkNewAttributesAfterDef(), clang::InheritableAttr::classof(), clang::InheritableParamAttr::classof(), DeclHasAttr(), getCCForDeclaratorChunk(), GetFullTypeForDeclarator(), and clang::TreeTransform< Derived >::TransformAttr().
|
inline |
Definition at line 93 of file Attr.h.
References clang::SourceRange::getBegin().
Referenced by checkAttributesAfterMerging(), clang::Sema::checkClassLevelDLLAttribute(), checkNewAttributesAfterDef(), clang::Sema::FinalizeDeclaration(), and clang::Sema::propagateDLLAttrToBaseClassTemplate().
|
inline |
const char* clang::Attr::getSpelling | ( | ) | const |
Referenced by clang::FormatASTNodeDiagnosticArgument().
|
inline |
Definition at line 90 of file Attr.h.
References SpellingListIndex.
Referenced by mergeDeclAttribute().
|
inline |
|
inline |
Definition at line 97 of file Attr.h.
References Inherited.
Referenced by clang::Sema::checkClassLevelDLLAttribute(), and clang::Sema::FinalizeDeclaration().
|
inline |
Definition at line 110 of file Attr.h.
References IsLateParsed.
|
inline |
Definition at line 105 of file Attr.h.
References IsPackExpansion.
|
inlineprotected |
|
inline |
Definition at line 72 of file Attr.h.
References AttributeLangSupport::C.
|
inlineprotected |
|
inline |
Definition at line 68 of file Attr.h.
References AttributeLangSupport::C.
void clang::Attr::printPretty | ( | raw_ostream & | OS, |
const PrintingPolicy & | Policy | ||
) | const |
|
inline |
|
inline |
Definition at line 104 of file Attr.h.
References IsPackExpansion.
|
inline |
|
protected |
Definition at line 57 of file Attr.h.
Referenced by duplicatesAllowed().
|
protected |
Definition at line 55 of file Attr.h.
Referenced by isImplicit(), and setImplicit().
|
protected |
Definition at line 53 of file Attr.h.
Referenced by isInherited(), and clang::InheritableAttr::setInherited().
|
protected |
Definition at line 56 of file Attr.h.
Referenced by isLateParsed().
|
protected |
Definition at line 54 of file Attr.h.
Referenced by isPackExpansion(), and setPackExpansion().
|
protected |
An index into the spelling list of an attribute defined in Attr.td file.
Definition at line 52 of file Attr.h.
Referenced by getSpellingListIndex().