clang
3.9.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) LLVM_NOEXCEPT |
void | operator delete (void *Ptr, ASTContext &C, size_t Alignment) LLVM_NOEXCEPT |
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. More... | |
Protected Member Functions | |
void * | operator new (size_t bytes) LLVM_NOEXCEPT |
void | operator delete (void *data) LLVM_NOEXCEPT |
Attr (attr::Kind AK, SourceRange R, unsigned SpellingListIndex, bool IsLateParsed, bool DuplicatesAllowed) | |
Protected Attributes | |
unsigned | SpellingListIndex: 4 |
An index into the spelling list of an attribute defined in Attr.td file. More... | |
unsigned | Inherited: 1 |
unsigned | IsPackExpansion: 1 |
unsigned | Implicit: 1 |
unsigned | IsLateParsed: 1 |
unsigned | 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 119 of file Attr.h.
References DuplicatesAllowed.
Referenced by mergeDeclAttribute().
|
inline |
Definition at line 87 of file Attr.h.
Referenced by clang::Sema::ActOnBaseSpecifier(), clang::ast_matchers::AST_MATCHER_P(), clang::Sema::checkClassLevelDLLAttribute(), checkNewAttributesAfterDef(), clang::StmtAttr::classof(), clang::InheritableAttr::classof(), clang::InheritableParamAttr::classof(), clang::ParameterABIAttr::classof(), DeclHasAttr(), clang::ParameterABIAttr::getABI(), getCCForDeclaratorChunk(), GetFullTypeForDeclarator(), ReferenceDllExportedMethods(), and clang::TreeTransform< Derived >::TransformAttr().
|
inline |
Definition at line 94 of file Attr.h.
References clang::SourceRange::getBegin().
Referenced by checkAttributesAfterMerging(), clang::Sema::checkClassLevelDLLAttribute(), checkNewAttributesAfterDef(), clang::Sema::FinalizeDeclaration(), clang::Sema::propagateDLLAttrToBaseClassTemplate(), and ReferenceDllExportedMethods().
|
inline |
const char* clang::Attr::getSpelling | ( | ) | const |
|
inline |
Definition at line 91 of file Attr.h.
References SpellingListIndex.
Referenced by mergeDeclAttribute().
|
inline |
|
inline |
Definition at line 98 of file Attr.h.
References Inherited.
Referenced by clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::FinalizeDeclaration(), and ReferenceDllExportedMethods().
|
inline |
Definition at line 111 of file Attr.h.
References IsLateParsed.
|
inline |
Definition at line 106 of file Attr.h.
References IsPackExpansion.
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inline |
void clang::Attr::printPretty | ( | raw_ostream & | OS, |
const PrintingPolicy & | Policy | ||
) | const |
|
inline |
|
inline |
Definition at line 105 of file Attr.h.
References IsPackExpansion.
|
inline |
|
protected |
Definition at line 58 of file Attr.h.
Referenced by duplicatesAllowed().
|
protected |
Definition at line 56 of file Attr.h.
Referenced by isImplicit(), and setImplicit().
|
protected |
Definition at line 54 of file Attr.h.
Referenced by isInherited(), and clang::InheritableAttr::setInherited().
|
protected |
Definition at line 57 of file Attr.h.
Referenced by isLateParsed().
|
protected |
Definition at line 55 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 53 of file Attr.h.
Referenced by getSpellingListIndex().