clang  3.7.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
clang::Attr Class Reference

Attr - This represents one attribute. More...

#include <Attr.h>

Inheritance diagram for clang::Attr:
[legend]
Collaboration diagram for clang::Attr:
[legend]

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
 
Attrclone (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
 

Detailed Description

Attr - This represents one attribute.

Definition at line 44 of file Attr.h.

Constructor & Destructor Documentation

clang::Attr::Attr ( attr::Kind  AK,
SourceRange  R,
unsigned  SpellingListIndex,
bool  IsLateParsed,
bool  DuplicatesAllowed 
)
inlineprotected

Definition at line 78 of file Attr.h.

Member Function Documentation

Attr* clang::Attr::clone ( ASTContext C) const
bool clang::Attr::duplicatesAllowed ( ) const
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().

attr::Kind clang::Attr::getKind ( ) const
inline
SourceLocation clang::Attr::getLocation ( ) const
inline
SourceRange clang::Attr::getRange ( ) const
inline

Definition at line 94 of file Attr.h.

const char* clang::Attr::getSpelling ( ) const
unsigned clang::Attr::getSpellingListIndex ( ) const
inline

Definition at line 90 of file Attr.h.

References SpellingListIndex.

Referenced by mergeDeclAttribute().

bool clang::Attr::isImplicit ( ) const
inline

Returns true if the attribute has been implicitly created instead of explicitly written by the user.

Definition at line 101 of file Attr.h.

References Implicit.

bool clang::Attr::isInherited ( ) const
inline

Definition at line 97 of file Attr.h.

References Inherited.

Referenced by clang::Sema::checkClassLevelDLLAttribute(), and clang::Sema::FinalizeDeclaration().

bool clang::Attr::isLateParsed ( ) const
inline

Definition at line 110 of file Attr.h.

References IsLateParsed.

bool clang::Attr::isPackExpansion ( ) const
inline

Definition at line 105 of file Attr.h.

References IsPackExpansion.

void clang::Attr::operator delete ( void *  data)
throw (
)
inlineprotected

Definition at line 62 of file Attr.h.

void clang::Attr::operator delete ( void *  Ptr,
ASTContext C,
size_t  Alignment 
)
throw (
)
inline

Definition at line 72 of file Attr.h.

References AttributeLangSupport::C.

void* clang::Attr::operator new ( size_t  bytes)
throw (
)
inlineprotected

Definition at line 59 of file Attr.h.

void* clang::Attr::operator new ( size_t  Bytes,
ASTContext C,
size_t  Alignment = 8 
)
throw (
)
inline

Definition at line 68 of file Attr.h.

References AttributeLangSupport::C.

void clang::Attr::printPretty ( raw_ostream &  OS,
const PrintingPolicy Policy 
) const
void clang::Attr::setImplicit ( bool  I)
inline

Definition at line 102 of file Attr.h.

References Implicit.

void clang::Attr::setPackExpansion ( bool  PE)
inline

Definition at line 104 of file Attr.h.

References IsPackExpansion.

void clang::Attr::setRange ( SourceRange  R)
inline

Definition at line 95 of file Attr.h.

Member Data Documentation

bool clang::Attr::DuplicatesAllowed
protected

Definition at line 57 of file Attr.h.

Referenced by duplicatesAllowed().

bool clang::Attr::Implicit
protected

Definition at line 55 of file Attr.h.

Referenced by isImplicit(), and setImplicit().

bool clang::Attr::Inherited
protected

Definition at line 53 of file Attr.h.

Referenced by isInherited(), and clang::InheritableAttr::setInherited().

bool clang::Attr::IsLateParsed
protected

Definition at line 56 of file Attr.h.

Referenced by isLateParsed().

bool clang::Attr::IsPackExpansion
protected

Definition at line 54 of file Attr.h.

Referenced by isPackExpansion(), and setPackExpansion().

unsigned clang::Attr::SpellingListIndex
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().


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