clang  3.9.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) 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
 
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. 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
 

Detailed Description

Attr - This represents one attribute.

Definition at line 45 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 79 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 119 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 95 of file Attr.h.

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

Definition at line 91 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 102 of file Attr.h.

References Implicit.

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

Definition at line 111 of file Attr.h.

References IsLateParsed.

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

Definition at line 106 of file Attr.h.

References IsPackExpansion.

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

Definition at line 63 of file Attr.h.

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

Definition at line 73 of file Attr.h.

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

Definition at line 60 of file Attr.h.

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

Definition at line 69 of file Attr.h.

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

Definition at line 103 of file Attr.h.

References I, and Implicit.

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

Definition at line 105 of file Attr.h.

References IsPackExpansion.

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

Definition at line 96 of file Attr.h.

Member Data Documentation

unsigned clang::Attr::DuplicatesAllowed
protected

Definition at line 58 of file Attr.h.

Referenced by duplicatesAllowed().

unsigned clang::Attr::Implicit
protected

Definition at line 56 of file Attr.h.

Referenced by isImplicit(), and setImplicit().

unsigned clang::Attr::Inherited
protected

Definition at line 54 of file Attr.h.

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

unsigned clang::Attr::IsLateParsed
protected

Definition at line 57 of file Attr.h.

Referenced by isLateParsed().

unsigned clang::Attr::IsPackExpansion
protected

Definition at line 55 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 53 of file Attr.h.

Referenced by getSpellingListIndex().


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